jstree获取所有节点_剑指offer 树专题 -重构二叉树 二叉树的下一个节点 二叉树的镜像...

从上到下打印二叉树-判断是否是二叉搜索树 按照之打印二叉树

//首先找到根节点,然后找到左右子树的序列,然后递归构建左子树和右子树

fb7458db82a8872726d18a7dff6d7833.png

找到二叉树节点的下一个节点

首先判断空指针问题

如果节点有右子树的话,就找到他的最左子节点

如果没有右子树的话,还不是左子节点,找到他的父节点,使父节点满足,节点是父节点的左子节点,

如果是左子节点,下一个节点就是父节点

7cbb59831b43d16240ce87c1b51959db.png

3.反转二叉树

//非递归//定义一个栈,来临时存储将要反转的节点,获取栈中存储的节点,这个节点的左右子节点反转,然后这个节点就没用了,删除就行了//将反转后的左右子节点放入栈中,用于下次循环

定义一个栈来临时存储即将反转的节点。获取队列中存储的节点,获取到一个节点后队列中的此节点已无用将其删除,然后把获取到的节点的左右子节点反转,将反转后的左右子节点都放入队列用于下一次循环。重复执行直到反转完所有树节点。

40fb1f3faa35e109b051b0c8d779611a.png

4. 从上到下打印二叉树

相当于层次遍历二叉树,用一个队列,把节点放入队列,打印节点的时候,要看他有没有左右节点,如果有,把左右节点也放到里面

3a60f3896c166df151b92850f4f3f621.png

5.利用递归的思想,首先找到根节点,然后找到左子树的序列,找到右子树的序列,如果右子树里面有小于根节点的就不是,然后递归左右子树,

89bd0a4aa7d7dab46bb2005a1383caa8.png

按照之打印二叉树

626b681fd6ccf6bf3f83b3497ede6a3b.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值