剑指offer之二叉树的下一个节点
来源:互联网 发布:淘宝被骗怎么办? 编辑:程序博客网 时间:2024/06/06 15:39
题目描述
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。
/**public class TreeLinkNode { int val; TreeLinkNode left = null; TreeLinkNode right = null; TreeLinkNode next = null; TreeLinkNode(int val) { this.val = val; }}*/public class Solution { public TreeLinkNode GetNext(TreeLinkNode node) { /** * 中序遍历:左根右 * 1.二叉树为空,则返回空; * 2.节点右孩子存在,则设置一个指针从该节点的右孩子出发,一直沿着指向左子结点的指针找到的叶子节点即为下一个节点; * 3.节点不是根节点。如果该节点是其父节点的左孩子,则返回父节点;否则继续向上遍历其父节点的父节点,重复之前的判断,返回结果。 */ if (node==null) return null; if (node.right!=null){ //如果有右子树,则找右子树的最左节点 node = node.right; while (node.left!=null) node=node.left; return node; } while (node.next!=null) { //没有右子树,则找第一个当前节点是父节点的左孩子的节点 if (node.next.left == node) return node.next; node = node.next; } return null; }}
阅读全文
0 0
- 剑指offer系列之五十七:二叉树的下一个节点
- 剑指offer系列之56:二叉树的下一个节点
- 剑指offer之二叉树的下一个节点
- 剑指Offer--二叉树的下一个节点
- 《剑指offer》二叉树的下一个节点
- 剑指offer-二叉树的下一个节点
- 剑指offer--二叉树的下一个节点
- 剑指offer-二叉树的下一个节点
- 【剑指offer】二叉树的下一个节点
- 剑指offer --- 二叉树的下一个节点
- 剑指offer 58 - 二叉树的下一个节点
- 剑指offer(60):二叉树的下一个节点
- 剑指offer——二叉树的下一个节点
- 剑指Offer面试题58:二叉树的下一个节点
- 13.剑指offer-二叉树的下一个节点
- 剑指offer 第八题 二叉树的下一个节点
- 剑指offer——二叉树的下一个节点___
- 【剑指offer】面试题 8:二叉树的下一个节点
- 图片异步加载
- 适配器设置图片
- 网络获取图片和ListView
- 【项目管理和构建】——Maven下载、安装和配置(二)
- 监听器Listener
- 剑指offer之二叉树的下一个节点
- __str__和__repr__比较
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- RecyclerView简单多条目
- 【密码学】C语言实现RSA模幂运算
- PAT 乙级 1030. 完美数列(25)
- AS报错Unable to merge dex
- 2.图层
- java鬼混笔记:lucene 5、index基本的增删查改