zoukankan      html  css  js  c++  java
  • 牛客(57)二叉树的下一个结点

    //    题目描述
    //    给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。
    //    注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。
        public class TreeLinkNode {
            int val;
            TreeLinkNode left = null;
            TreeLinkNode right = null;
            TreeLinkNode next = null;
    
            TreeLinkNode(int val) {
                this.val = val;
            }
        }
    
        public TreeLinkNode GetNext(TreeLinkNode pNode)
        {
            if (pNode==null){
                return pNode;
            }
    //        是头结点
            if (pNode.right!=null){
                pNode = pNode.right;
                while (pNode.left!=null){
                    pNode = pNode.left;
                }
                return pNode;
            }
    
    //        不是头结点
            while (pNode.next!=null&&pNode.next.left!=pNode){
                pNode=pNode.next;
            }
            return pNode.next;
        }
  • 相关阅读:
    C
    B
    A
    poj1222
    请求转发和重定向
    中文乱码
    Servlet 第一天
    Oracle 锁
    Oracle 包的学习
    初学Linux
  • 原文地址:https://www.cnblogs.com/kaibing/p/9104489.html
Copyright © 2011-2022 走看看