Populating Next Right Pointers in Each Node
来源:互联网 发布:凡科如何绑定域名 编辑:程序博客网 时间:2024/06/11 16:34
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分析:递归
代码:
/** * 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 || root.left == null){ // 空树或者只有一个结点的树直接返回,由于是完美二叉树,因此只用判断左子树 return; } //分别先对左子树和右子树进行处理 connect(root.left); connect(root.right); //逐层连接左子树和右子树 TreeLinkNode leftNode = root.left; TreeLinkNode rightNode = root.right; while (leftNode != null){ leftNode.next = rightNode; leftNode = leftNode.right; rightNode = rightNode.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
- Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled
- magento 实现折扣为负值
- 虚幻引擎四 调用HTC Vive 手柄震动问题 ||UE4 调用手柄震动问题
- dede:sql
- python时间概念总结
- Populating Next Right Pointers in Each Node
- Precomputed Real-Time Texture Synthesis with Markovian Generative Adversarial Networks论文笔记
- DNS信息搜集学习
- Tomcat修改默认端口号方法
- mac pyqt安装
- u-boot 2013.04-rc1移植(1)
- Win7远程桌面 提示 登录没有成功解决方法
- Ubuntu的复制,删除,移动命令
- 使OpenCV程序脱离本地OpenCV环境到其它电脑上运行