摘要: 题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 题目分析:这其实就是斐波拉契数列,递归的思想,用递推来实现,防止栈溢出。 阅读全文
posted @ 2017-06-10 19:50 VictorWei 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 题目分析: f(0) = 1; 表示n级台阶一次跳n级,只有一种跳法 f(1) = 1; f(2) = 2; f(3) = f(2) + f(1)+ f(0) ... f(n) 阅读全文
posted @ 2017-06-10 19:47 VictorWei 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题目描述:请完成一个函数,输入一个二叉树,该函数输出它的镜像 题目分析:先前序遍历这棵树的每个结点,如果遍历到的结点有子结点,就交换它的两个子结点。当交换完所有非叶子结点的左右子结点之后,就得到了树的镜像。 Java代码: 阅读全文
posted @ 2017-06-10 19:44 VictorWei 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题目描述:树的子结构 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 题目分析:此题可以拆成两题,1.在二叉树中查找是否存在某个结点;2.判断两个二叉树是否有相同的结构 Java代码: 阅读全文
posted @ 2017-06-10 19:37 VictorWei 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题目描述:输入两个单调递增的链表list1,list2,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 题目分析: 1.对于链表题目,首先考虑边界情况,即链表为空的情况,提升代码的鲁棒性。 2.合并完一个结点后,剩余的链表仍然是有序的,再合并下一个结点时的过程是一样的,这是一种 阅读全文
posted @ 2017-06-10 19:34 VictorWei 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 题目描述:输入一个链表,输出该链表中倒数第k个结点 题目分析:因为不能直接从链表的尾部遍历,所以要分两步走: 第一步:从链表的头部开始遍历,直至链表的尾部,统计出链表结点的个数 第二步:根据链表结点的个数,计算出倒数第k个结点的位置(从头部看的位置),即n-k+1个结点,输出该结点。 Java代码: 阅读全文
posted @ 2017-06-10 19:27 VictorWei 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目描述:调整数组顺序使奇数位于偶数前 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 题目分析: 题目的关键在于在移位以后,奇数和奇数以及偶数和偶数之间的相对位置保持不变。 阅读全文
posted @ 2017-06-10 19:21 VictorWei 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 题目描述:数值的整数次方给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 题目分析:题目的关键在于要考虑exponent为负数的情况。 Java代码: 阅读全文
posted @ 2017-06-10 19:17 VictorWei 阅读(158) 评论(0) 推荐(0) 编辑