Java二叉树下一个节点

简介: 代码部分

代码部分

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);
  }
}
相关文章
|
1天前
|
算法 Java
算法:Java计算二叉树从根节点到叶子结点的最大路径和
算法:Java计算二叉树从根节点到叶子结点的最大路径和
|
1天前
|
Java
Java二叉树超详解(常用方法介绍)(2)
Java二叉树超详解(常用方法介绍)(2)
|
1天前
|
存储 Java
JAVA 二叉树超详解(1)
JAVA 二叉树超详解(1)
|
1天前
|
Java
2415. 反转二叉树的奇数层 --力扣 --JAVA
给你一棵 完美 二叉树的根节点 root ,请你反转这棵树中每个 奇数 层的节点值。 例如,假设第 3 层的节点值是 [2,1,3,4,7,11,29,18] ,那么反转后它应该变成 [18,29,11,7,4,3,1,2] 。 反转后,返回树的根节点。 完美 二叉树需满足:二叉树的所有父节点都有两个子节点,且所有叶子节点都在同一层。 节点的 层数 等于该节点到根节点之间的边数。
28 0
|
1天前
|
Java
124. 二叉树中的最大路径和 --力扣 --JAVA
二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root ,返回其 最大路径和 。
26 1
|
1天前
|
存储 Java
ZigZagging on a Tree二叉树蛇形层次遍历(Java语言)
ZigZagging on a Tree二叉树蛇形层次遍历(Java语言)
7 1
|
1天前
|
Java
Tree Traversals Again(Java语言)(先序和中序创建二叉树)(遍历树)
Tree Traversals Again(Java语言)(先序和中序创建二叉树)(遍历树)
11 4
|
1天前
|
Java
LeetCode题解- 两两交换链表中的节点-Java
两两交换链表中的节点-Java
14 0
|
1天前
|
Rust 索引
Rust 编程小技巧摘选(6)
Rust 编程小技巧摘选(6)
46 1
Rust 编程小技巧摘选(6)
|
1天前
|
Java Go C++
Golang每日一练(leetDay0085) 2的幂、数字 1 的个数
Golang每日一练(leetDay0085) 2的幂、数字 1 的个数
27 0
Golang每日一练(leetDay0085) 2的幂、数字 1 的个数