一、题目 操作给定的二叉树,将其变换为源二叉树的镜像。二叉树的镜像定义: 源二叉树 : 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树: 8 …
剑指offer十七姊妹篇之二叉树的创建、遍历、判断子二叉树
1、二叉树节点类 public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int…
剑指offer十七之树的子结构
一、题目 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 二、思路 1、首先设置标志位result = false,因为一旦匹配成功result就设为true,剩下的代…
剑指offer十六之合并两个排序的链表
一、题目 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 二、思路 注:链表1和链表2是两个递增排序的链表,合并这两个链表得到升序链表为链表3. 首先分析合并两个…
剑指offer十五之反转链表
一、题目 输入一个链表,反转链表后,输出链表的所有元素。 二、思路 详细分析见代码注释 三、代码 public class Solution { &n…
剑指offer十四之链表中倒数第k个结点
一、题目 输入一个链表,输出该链表中倒数第k个结点。 二、思路 两个指针,先让第一个指针和第二个指针都指向头结点,然后再让第一个指正走(k-1)步,到达第k个节点。然…
剑指offer十三之调整数组顺序使奇数位于偶数前面
一、题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 二、思路 &nbs…
剑指offer十二之数值的整数次方
一、题目 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 二、思路 1、传统方法计算,时间复杂度O(n) 2、递归方式计算,时间复杂度O(logn) &…
剑指offer十一之二进制中1的个数
一、题目 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 二、思路 方法一:  …
剑指offer十之矩形覆盖
一、题目 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 二、解答思路 如果第一步选择竖方向…
剑指offer九之变态跳台阶
一、题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 二、思路 1、关于本题,前提是n个台阶会有一次n阶的跳法。分析如下: f(1) = 1 f(2…
剑指offer八之跳台阶
一、题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 二、思路 a.如果两种跳法,1阶或者2阶,那么假定第一次跳的是一阶,那么剩…