116.Populating Next Right Pointers in Each Node(二叉完全树的next结点)

来源:互联网 发布:淘宝客cnzz建站工具 编辑:程序博客网 时间:2024/06/03 17:20

Note:

  • You may only use constant extra space.
  • You may assume that it is a perfect binary tree (ie, all leaves are at the same level, and every parent has two children).

For example,
Given the following perfect binary tree,

         1       /  \      2    3     / \  / \    4  5  6  7

After calling your function, the tree should look like:

         1 -> NULL       /  \      2 -> 3 -> NULL     / \  / \    4->5->6->7 -> NULL

代码:

/**
 * Definition for binary tree with next pointer.
 * public class TreeLinkNode {
 *     int val;
 *     TreeLinkNode left, right, next;
 *     TreeLinkNode(int x) { val = x; }
 * }
 */
public class Solution {
    public void connect(TreeLinkNode root) {


        if(root==null) return ;
        
        if(root.left!=null){
        root.left.next = root.right ;
        root.right.next = (root.next==null?null:root.next.left);
        }
        
        connect(root.left);
        connect(root.right);
        
    }
}


0 0
原创粉丝点击