第二十天(树)

今天完成题目:563,404,606,783,101,993 563:二叉树的坡度

  • 节点的坡度定义即为,该节点左子树的结点之和和右子树结点之和的差的绝对值。空结点的的坡度是0。

  • 深度遍历返回子树的结点之和,利用左右子树结点之和求坡度

404:左叶子之和

  • 深度遍历在左结点中查找没有子树的左结点即为左叶子

606:根据二叉树创建字符串 1. 前序遍历,根左右,递归周围添加括号 2. 有右无左的结点添加(),即不可省略的空结点

783:二叉搜索树节点最小距离

  • 返回树中任意两节点的差的最小值。

  • 这题做过,主要是找到左子树中的最大值和右子树中的最小值

101:对称二叉树

  • 这题做过

  • 层次遍历,判断每一层的结点数值是否对称

  • 再判断每一层的结点的子树形状是否对称

993:二叉树的堂兄弟节点

  • 层次遍历

  • 添加一个bool,判断有无在同个父结点找到

  • 剩下的就是普普通通的每层查找x和y

最后更新于

这有帮助吗?