[LeetCode][Java] Populating Next Right Pointers in Each Node
来源:互联网 发布:淘宝卖假货店铺 编辑:程序博客网 时间:2024/05/16 09:26
题目:
Given a binary tree
struct 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); }}
0 0
- 【Leetcode】Populating Next Right Pointers in Each Node in JAVA
- [Leetcode] Populating Next Right Pointers in Each Node (Java)
- [Leetcode] Populating Next Right Pointers in Each Node II (Java)
- [LeetCode][Java] Populating Next Right Pointers in Each Node
- [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 II 【Java】
- Populating Next Right Pointers in Each Node Python Java Leetcode
- leetcode-java-116. Populating Next Right Pointers in Each Node
- 【leetcode】116. Populating Next Right Pointers in Each Node【java】
- LeetCode-116. Populating Next Right Pointers in Each Node (JAVA)
- LeetCode-117. Populating Next Right Pointers in Each Node || (JAVA)
- 【LeetCode】Populating Next Right Pointers in Each Node Populating Next Right Pointers in Each Node II
- leetcode Populating Next Right Pointers in Each Node &&Populating Next Right Pointers in Each Node||
- LeetCode Populating Next Right Pointers in Each Node & Populating Next Right Pointers in Each Node I
- LeetCode Populating Next Right Pointers in Each Node
- LeetCode Populating Next Right Pointers in Each Node II
- [Leetcode] Populating Next Right Pointers in Each Node
- c++ primer读书笔记
- Android Http下载请求
- python poplib
- Protobuf-net判断字段是否有值
- 7.2.2 引用形参、const类形参(重要)
- [LeetCode][Java] Populating Next Right Pointers in Each Node
- 黑马程序员_笔记_多线程(创建线程-继承Thread类)
- JavaScript获取事件制作作用的目标对象
- 生成連續ID記錄行
- 初窥Linux 之 我最常用的20条命令
- HDU 3123 GCC
- poj 1019
- 各种距离度量
- lucene快速入门---一个例子读懂