牛客网经典Java面试常见题
创始人
2024-03-31 11:23:30

在这里插入图片描述

个人主页:熬夜磕代码丶
作品专栏: 数据结构与算法
我变秃了,也变强了
给大家介绍一款程序员必备刷题平台——牛客网
点击注册一起刷题收获大厂offer吧
在这里插入图片描述

文章目录

  • 一、二叉搜索树与双向链表
  • 二、从尾到头打印链表
  • 三、调整数组奇数位于偶数前面
  • 四、删除链表的节点
  • 五、 只出现一次的数字

一、二叉搜索树与双向链表

输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。如下图所示
在这里插入图片描述
注意:
1.要求不能创建任何新的结点,只能调整树中结点指针的指向。当转化完成以后,树中节点的左指针需要指向前驱,树中节点的右指针需要指向后继
2.返回链表中的第一个节点的指针
3.函数返回的TreeNode,有左右指针,其实可以看成一个双向链表的数据结构
4.你不用输出双向链表,程序会根据你的返回值自动打印输出

在这里插入图片描述

public class Solution {public TreeNode Convert(TreeNode pRootOfTree) {if(pRootOfTree == null) {return null;}createLinkedList(pRootOfTree);while(pRootOfTree.left != null) {pRootOfTree = pRootOfTree.left;}return pRootOfTree;}TreeNode prev = null;public  void createLinkedList(TreeNode pRootOfTree) {if(pRootOfTree == null) {return;}createLinkedList(pRootOfTree.left);pRootOfTree.left = prev;if(prev != null) {prev.right = pRootOfTree;}prev = pRootOfTree;createLinkedList(pRootOfTree.right);}
}

二、从尾到头打印链表

输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。
题目地址:从尾到头打印链表
在这里插入图片描述

在这里插入图片描述

import java.util.ArrayList;
public class Solution {public ArrayList printListFromTailToHead(ListNode listNode) {ArrayList list = new ArrayList();if(listNode == null) {return list;}ListNode cur = listNode.next;listNode.next = null;while(cur != null) {ListNode curNext = cur.next;cur.next = listNode;listNode = cur;cur = curNext;}while(listNode != null) {list.add(listNode.val);listNode = listNode.next;}return list;}
}

三、调整数组奇数位于偶数前面

输入一个长度为 n 整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
在这里插入图片描述
在这里插入图片描述

public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param array int整型一维数组 * @return int整型一维数组*/public int[] reOrderArray (int[] array) {int[] arr = new int[array.length];int k = 0;for(int i = 0;i < array.length;i++) {if(array[i] % 2 == 1) {arr[k++] = array[i];}}for(int i = 0;i < array.length;i++) {if(array[i] % 2 == 0) {arr[k++] = array[i];}}return arr;}
}

四、删除链表的节点

给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。

1.此题对比原题有改动
2.题目保证链表中节点的值互不相同
3.该题只会输出返回的链表和结果做对比,所以若使用 C 或 C++ 语言,你不需要 free 或 delete 被删除的节点
题目地址:从尾到头打印链表
在这里插入图片描述
在这里插入图片描述

public ListNode deleteNode (ListNode head, int val) {if(head == null) {return head;}if(head.val == val) {return head.next;}ListNode fast = head.next;ListNode slow = head;while(fast != null) {if(fast.val == val) {slow.next = fast.next;break;}else {slow = slow.next;fast = fast.next;}}return head;}

五、 只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
方法1 : 异或

public int singleNumber(int[] nums) {int x = 0;for(int i = 0;i < nums.length;i++) {x ^= nums[i];}return x;}

方法2: HashSet

class Solution {public int singleNumber(int[] nums) {HashSet hashSet = new HashSet<>();for (int i = 0; i < nums.length; i++) {if(hashSet.contains(nums[i])) {hashSet.remove(nums[i]);}else {hashSet.add(nums[i]);}}for (int i = 0; i < nums.length; i++) {if(hashSet.contains(nums[i])) {return nums[i];}}return -1;}
}

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...