上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页
摘要: 题目:输入一个整数数组,实现一个寒暑来调整该书组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 思路:这个题目要求把技术放在数组的前半部分,偶数放在数组的后半部分,因此所有的奇数应该位于偶数的前面。也就是说我们在扫描这个数组的时候,如果发现有偶数出现在奇数的前面,我们可以 阅读全文
posted @ 2018-06-28 22:40 樱圃 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 题目:输入数字n,按顺序打印出从1最大的n位十进制数。比如输入3,则打印出1、2、3一直到最大的3位数即999。 思路:如果我们在数字前面补0的话,就会发现n位所有十进制数其实就是n个从0到9的全排列。也就是说,我们把数字的每一位都从0到9排列一遍,就得到了所有的十进制数。只是我们在打印的时候,数字 阅读全文
posted @ 2018-06-28 09:00 樱圃 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 题目:写一个函数,求两个整数之和,要求在函数体内不得实用+、-、x、%四则运算符。 接下来我们试着把二进制的加法用位运算来替代。第一步不考虑进位对每一位相加。0加0、1加1的结果都为0,0加1、1加0的结果都是1。我们注意到,这和异或的结果是一样的。对异或而言,0和0、1和1异或的结果是0,而0和1 阅读全文
posted @ 2018-06-27 20:12 樱圃 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写出程序找出这两个只出现一次的数字。要求时间复杂度为o(n),空间复杂度是o(1)。 这两个题目都在强调一个(或两个)数字只出现一次,其他的出现两次。这有什么意义呢?我们想到异或运算的一个性质:任何一个数字异或它自己都等于0。也就是说, 阅读全文
posted @ 2018-06-27 19:59 樱圃 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 写一个函数,输入n,求斐波那契数列(Fibonacci)数列的第n项。斐波那契数列定义如下: 当n=0时,f(n)=0;当n=1时,f(n)=1;当n>1时,f(n)=f(n-1)+f(n-2)。 效率很低的解乏,挑剔的面试官不会喜欢。 我们以求解f(10)为例来分析递归的求解过程。想求得f(10) 阅读全文
posted @ 2018-06-27 19:03 樱圃 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 这种情况下要考虑:输入参数为 null、输入参数中只有一个节点、输入正常的链表是否可以正常返回。 阅读全文
posted @ 2018-06-20 10:40 樱圃 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 这道题的关键在于: 1、首先对输入参数进行比较:head=0||k=0都返回为空。 2、分为两个链表,其中一个指针先走k-1步,然乎再同时往后走,判断条件是:before.next!=null 3、返回后面的指针。 阅读全文
posted @ 2018-06-17 21:47 樱圃 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 算法的整体思路是: 先判断传入参数的情况:如果为空则返回null 判断尾节点是否为空:如果尾节点不为空,则将链表中要删除节点的后一个节点的值赋值给要删除的节点。 如果尾节点为空,则判断该链表是否只有一个节点,如果是只有一个节点,则返回null, 如果不是只有一个节点,则遍历到最末尾的节点,将其删除。 阅读全文
posted @ 2018-06-17 20:33 樱圃 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 看到这道题后,很多人的第一反应是从头到尾输出将会极比较简单,于是我们很自然地想到把链表中链接节点的指针翻转过来,改变链表的方向,然后就可以从头到尾输出了。但该方法会改变原来链表的结构,是否允许打印链表的时候修改链表的结构?这个取决于面试官的需求,因此在面试的时候我们要询问清楚面试官的要求。 阅读全文
posted @ 2018-06-14 00:55 樱圃 阅读(109) 评论(0) 推荐(0) 编辑
摘要: import java.util.Stack; public class Reverse{ class LNode{ int data; LNode next; public LNode(int data){ this.data=data; } } public static voi... 阅读全文
posted @ 2018-06-14 00:45 樱圃 阅读(120) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页