6.6 Tree

  1. Convert BST to Greater Tree

本质上是一个右 根 左的中序遍历, 递归实现, 如何做加法?
sum += cur.val; cur.val = sum

为什么需要一个单独的void 函数来进行处理?? 为了避免设定全局变量?

  1. Invert Binary Tree

AC: 一个temp 变量存左子树,然后 左换右, 右换temp, 递归结束

  1. Subtree of Another Tree
    我的思路: 定义一个 isSame() function, 遍历较大的那棵树,如果有一个节点与 t节点相等,判断 isSame(s, t), 如果相同,则直接返回true, 否则继续遍历子节点,知道完成全树的遍历

逻辑错误,应当逐渐缩小范围来进行搜索,下沉? 先判断 isSame() 然后再给subtree,

  1. Balanced Binary Tree

定义result type ? 必须要有一个对接的function helper() 返回 不需要写一个多余的getHeight() function, 自动在helper当中直接计算即可
功能定义混乱

猜你喜欢

转载自www.cnblogs.com/kong-xy/p/9149870.html
6.6