摘要:
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 分析:当n = 1, f[n] = 1, 表示直接跳1级台阶 n = 2, f[2] = f[1]+1, 表示从第1级台阶再跳1级台阶的跳法加上直接跳2级台阶 n = 3, f[3] 阅读全文
摘要:
题目:操作给定的二叉树,将其变换为源二叉树的镜像。 如: 分析:递归的交换左右子树。也可以用栈实现。 解法一:递归 解法二:栈实现 阅读全文
摘要:
题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 分析:层次遍历(广搜)。 阅读全文
摘要:
题目:输入一棵二叉树,判断该二叉树是否是平衡二叉树。 分析:首先理解什么是平衡二叉树。平衡二叉树具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 很明显可以用递归解决。 解法一: 上述解法的不足在于在计算上层节点的时候,他会反复计算下层节点 阅读全文
摘要:
题目:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 分析:恩。。没啥好分析的,很基础的一题,有多种解法,如递归,层次遍历。 解法一:递归 树的深度=max(左子树的深度, 右子树的深度)+ 节点本身的深度(为1) 递归终止条 阅读全文