116. Populating Next Right Pointers in Each Node
来源:互联网 发布:js点击radio 编辑:程序博客网 时间:2024/06/05 17:16
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
题意比较难理解。现在定义的树链表节点,多了一个next节点定义 next是值本节点同层的相邻节点
算法实现之后变成 每一层的节点用一个链表串起来,形成一个单链表
public class Solution { public void connect(TreeLinkNode root) { if(root==null) return; TreeLinkNode parent=root; TreeLinkNode next=parent.left; while(parent!=null&&next!=null){ TreeLinkNode prev=null; while(parent!=null){ if(prev==null){ prev=parent.left; } else { prev.next=parent.left; prev=prev.next; } prev.next=parent.right; prev=prev.next; parent=parent.next; } parent=next; next=parent.left; } }}
0 0
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node
- 【计划】国庆总结及近期计划
- 欢迎使用CSDN-markdown编辑器
- object c 代理设计模式,有点像java的监听
- Java开发中的23种设计模式总结
- HTML个人学习总结—2
- 116. Populating Next Right Pointers in Each Node
- unity 背包Item拖拉
- 面向对象设计模式与原则
- 51nod-1055 最长等差数列
- 分布式锁的实现
- 《JAVA与模式》之适配器模式
- 回文串最少划分数
- 《java编程思想》第十三章 字符串
- 第四周项目3-单链表应用(1)