摘要: 题目描述 输入一个链表,输出该链表中倒数第k个结点。 两个链表,一个记录k-1步,一个从0开始。这样第一个链表相当于记录的作用。这里要好好理解一下为什么是k-1而不是k。因为是k的话和第二个链表一起走的时候,就是k+1了而不是刚好对应k。 优质解答 class Solution { public: 阅读全文
posted @ 2020-05-22 21:52 转瞬即逝1995 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 给我第一个想法就是二分法感觉想复杂了 class Solution {public: void reOrderArray 阅读全文
posted @ 2020-05-22 20:58 转瞬即逝1995 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0 这个题的关键在于int类型的整数exponent可以是负数. 我的劣质解答: class Solution {public: double Pow 阅读全文
posted @ 2020-05-21 21:55 转瞬即逝1995 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 分析一下代码: 这段小小的代码,很是巧妙。 如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不 阅读全文
posted @ 2020-05-21 21:33 转瞬即逝1995 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 比如n=3时,2*3的矩形块有3种覆盖方法: 首先给我想到的是递归的思想: 然后就是找规律 f(0) = 0 ; f(1) = 1; f(2) = 2; f(3) = 3 阅读全文
posted @ 2020-05-21 20:15 转瞬即逝1995 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 解题思路: 当 n=1时,f(1)=1; 当 n=2时,f(2)=f(2-1)+f(2-2); //第一次跳一阶,第二次跳二阶 // 这里f(2-2)指的是一下子跳两阶梯即f(0) =1 阅读全文
posted @ 2020-05-21 19:43 转瞬即逝1995 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 对于本题,前提只有 一次 1阶或者2阶的跳法。 a.如果两种跳法,1阶或者2阶,那么假定第一次跳的是一阶,那么剩下的是n-1个台阶,跳法是f(n-1); b.假定第一次跳的是2阶, 阅读全文
posted @ 2020-05-20 21:56 转瞬即逝1995 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。 n<=39 class Solution {public: int Fibonacci(int n) { if(n == 0) return 0; if(n == 1) return 阅读全文
posted @ 2020-05-20 21:32 转瞬即逝1995 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 class Solutio 阅读全文
posted @ 2020-05-20 21:02 转瞬即逝1995 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路: 首先要明确队列的特性是先进先出,栈的特性是先进后出; 在进队列的方法里我们只要有容器能装元素就行了,所以直接往栈1里压; 在出队列方法里,要保证出队列的是最先进入的元素: 最直观的想法就是把栈1的元素挨个出 阅读全文
posted @ 2020-05-19 21:43 转瞬即逝1995 阅读(253) 评论(0) 推荐(0) 编辑