递归的两个必要条件
- 存在限制条件,当满足这个条件时,递归便不再继续。
- 每次递归调用之后越来越接近这个限制条件。
获取二叉树的深度
1 |
|
查找二叉树中结点值为key的个数
1 |
|
后序遍历求中序表达式的值
1 |
|
二叉树中,输出根结点到每个叶结点的路径(采用二叉链存储结构)
1 |
|
获得二叉搜索树中的众数
1 |
|
思路:二叉搜索树的中序遍历是一个升序序列,逐个比对当前结点(root)值与前驱结点(pre)值。更新当前节点值出现次数(curTimes)及最大出现次数(maxTimes),更新规则:若
curTimes=maxTimes
,将root->val添加到结果向量(res)中;若curTimes>maxTimes
,清空res,将root->val添加到res,并更新maxTimes为curTimes。