[LeetCode][Java] Populating Next Right Pointers in Each Node
2015-05-20 19:44
441 查看
题目:
Given a binary treestruct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; }
Populate each next pointer to point to its next right node. If there is no next right node, the next pointer should be set to
NULL.
Initially, all next pointers are set to
NULL.
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
题意:
给定一棵二叉树,最初每个节点的右指针都为空。现在要求将每个节点和其右指针相连,如果右指针不存在,指为NULL.最终的效果如上图所示.算法分析:
一个递归就搞定了,就是递归让每一个节点他的左右子树通过next链接,直至到最后一层,然后递归左右节点,继续让他们的左右子树通过next链接。代码如下:
public class Solution { public void connect(TreeLinkNode root) { if (root==null) return; TreeLinkNode lr = root.left; TreeLinkNode rl = root.right; while(lr!=null && rl!=null) { lr.next = rl; lr = lr.right; rl = rl.left; } connect(root.left); connect(root.right); } }
相关文章推荐
- Populating Next Right Pointers in Each Node II leetcode java
- (Java) LeetCode 116. Populating Next Right Pointers in Each Node —— 填充同一层的兄弟节点
- [Leetcode] Populating Next Right Pointers in Each Node II (Java)
- Populating Next Right Pointers in Each Node Python Java Leetcode
- leetcode:Populating Next Right Pointers in Each Node II 【Java】
- leetcode JAVA Populating Next Right Pointers in Each Node 难度系数3 3.41
- Java for LeetCode 116 Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node leetcode java
- 【LeetCode-面试算法经典-Java实现】【117-Populating Next Right Pointers in Each Node(二叉树链接右指针II)】
- [Leetcode][JAVA] Populating Next Right Pointers in Each Node II
- 【Leetcode】:116. Populating Next Right Pointers in Each Node 问题 in JAVA
- [LeetCode][Java] Populating Next Right Pointers in Each Node II
- [Leetcode] Populating Next Right Pointers in Each Node (Java)
- 【Leetcode】Populating Next Right Pointers in Each Node in JAVA
- leetcode-java-116. Populating Next Right Pointers in Each Node
- Java for LeetCode 117 Populating Next Right Pointers in Each Node II
- 【leetcode】116. Populating Next Right Pointers in Each Node【java】
- leetcode:Populating Next Right Pointers in Each Node 【Java】
- 【LeetCode-面试算法经典-Java实现】【116-Populating Next Right Pointers in Each Node(二叉树链接右指针)】
- [leetcode-117]Populating Next Right Pointers in Each Node II(c++)