leetcode 117. Populating Next Right Pointers in Each Node II
来源:互联网 发布:电视盒子推荐 知乎 编辑:程序博客网 时间:2024/06/05 07:00
Follow up for problem "Populating Next Right Pointers in Each Node".What if the given tree could be any binary tree? Would your previous solution still work?Note:You may only use constant extra space.For example,Given the following binary tree, 1 / \ 2 3 / \ \ 4 5 7After calling your function, the tree should look like: 1 -> NULL / \ 2 -> 3 -> NULL / \ \ 4-> 5 -> 7 -> NULLSubscribe to see which companies asked this question.
如果按照上一题的解法,那就需要去寻找next的位置
这里需要注意的是先做右子树,再做左子树
比较清晰易懂的解法
public class Solution { public void connect(TreeLinkNode root) { if(root==null) return; TreeLinkNode right =null ; if(root.left!=null&&root.right!=null){ root.left.next = root.right; root.right.next = getNext(root.next); }else{ if(root.left!=null) right = root.left; if(root.right!=null) right = root.right; if(right!=null) right.next = getNext(root.next); } // connect(root.next); connect(root.right); connect(root.left); } TreeLinkNode getNext(TreeLinkNode p){ if(p==null) return null; if(p.left!=null){ return p.left; }else if(p.right!=null){ return p.right; }else{ return getNext(p.next); } }}
阅读全文
0 0
- LeetCode 117. Populating Next Right Pointers in Each Node II
- [LeetCode]117.Populating Next Right Pointers in Each Node II
- [Leetcode] 117. Populating Next Right Pointers in Each Node II
- [leetcode] 117.Populating Next Right Pointers in Each Node II
- [LeetCode]117. Populating Next Right Pointers in Each Node II
- Leetcode 117. Populating Next Right Pointers in Each Node II
- [leetcode]117. Populating Next Right Pointers in Each Node II
- LeetCode 117. Populating Next Right Pointers in Each Node II
- Leetcode 117. Populating Next Right Pointers in Each Node II
- [LeetCode] 117. Populating Next Right Pointers in Each Node II
- LeetCode 117. Populating Next Right Pointers in Each Node II
- leetcode-117. Populating Next Right Pointers in Each Node II
- Leetcode 117. Populating Next Right Pointers in Each Node II
- leetcode 117. Populating Next Right Pointers in Each Node II
- LeetCode 117. Populating Next Right Pointers in Each Node II
- leetcode 117. Populating Next Right Pointers in Each Node II
- [LeetCode] 117. Populating Next Right Pointers in Each Node II
- LeetCode#117. Populating Next Right Pointers in Each Node II
- android activity之间传递bean类型数据
- iOS- NSThread/NSOperation/GCD 三种多线程技术的对比及实现
- vue.js做简易留言板
- TCP socket多客户端文件传输
- Java 实例
- leetcode 117. Populating Next Right Pointers in Each Node II
- js获得时间参数
- 投资风口再起:医疗机器人成为热点
- StringUtils.isEmpty和StringUtils.isBlank用法和区别
- ios CoreData和FMDB最新使用问题总结
- js控制textarea禁止输入表情
- Angular2-使用Angular CLI快速搭建工程(一)
- Java特性封装
- h5储存和cookie储存