(2条消息) Java二叉树下一个节点_学习微站的博客-CSDN博客

94 阅读1分钟

代码部分

package tree;

/**
 * @author kegekeqi
 * @version 1.0
 * @date 2021-12-12 10:45
 */
public class TreeLinkNode {
	int val;
	TreeLinkNode left = null;
	TreeLinkNode right = null;
	TreeLinkNode next = null;

	TreeLinkNode(int val) {
		this.val = val;
	}

	@Override
	public String toString() {
		return "TreeLinkNode{" +
				"val=" + val +
				", left=" + left +
				", right=" + right +
				", next=" + next +
				'}';
	}
}


package tree;

/**

  • @author kegekeqi

  • @version 1.0

  • @date 2021-12-12 10:45 / public class Solution { /*

    • 二叉树下一个节点 */ public TreeLinkNode GetNext(TreeLinkNode pNode) { if (pNode == null) { return null; } if (pNode.right == null) { for (; pNode.next != null && pNode.next.right == pNode; pNode = pNode.next) { //null }; return pNode.next; } for (pNode = pNode.right; pNode.left != null; pNode = pNode.left) { //null }; return pNode; }

    public static void main(String[] args) { TreeLinkNode pNode = new TreeLinkNode(1); Solution solution = new Solution(); TreeLinkNode treeLinkNode = solution.GetNext(pNode); System.out.println(treeLinkNode); }

}


> 本文使用 [文章同步助手](https://juejin.cn/post/6940875049587097631) 同步