leetcode第一刷_Populating Next Right Pointers in Each Node
来源:互联网 发布:linux 进程管理 编辑:程序博客网 时间:2024/06/06 22:23
这道题之前没见过,一上来还真不知道怎么做。问题的限制条件,树是完全二叉树其实并不是关键,只不过是一个简化的条件而已。那关键是什么呢?如何从当前节点跳到下一个开始的节点。我的做法是,每次从一层的最左边节点开始,一层一层的走。其实只有两种形式的next指针需要我们来更新,第一种,同一个节点的左右孩子,第二种,父亲相邻时,左边父亲的右孩子和右边父亲的左孩子之间。完全二叉树的简化就体现在更新的过程,因为完全,所以有孩子肯定是双胞胎,因为完全,所以两个父亲的孩子之间关系很直接。
class Solution {public: void connect(TreeLinkNode *root) { if(root == NULL) return; TreeLinkNode *beginNode = root, *leftNode, *rightNode; while(beginNode){ leftNode = beginNode; while(leftNode&&leftNode->left){ leftNode->left->next = leftNode->right; if(leftNode->next){ rightNode = leftNode->next; leftNode->right->next = rightNode->left; } leftNode = leftNode->next; } beginNode = beginNode->left; } }};
0 0
- 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 II
- 【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 in JAVA
- 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
- 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
- [LeetCode] Populating Next Right Pointers in Each Node II
- 【leetcode】 Populating Next Right Pointers in Each Node
- leetcode 78: Populating Next Right Pointers in Each Node
- leetcode 79: Populating Next Right Pointers in Each Node II
- Leetcode: Populating Next Right Pointers in Each Node
- vim寄存器
- 制式对照表NTSC制式和PAL制式下,QCIF,CIF,Half D1,D1的分辨率列表。
- 深入推荐引擎相关算法 – 协同过滤
- 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探
- 通讯录管理系统
- leetcode第一刷_Populating Next Right Pointers in Each Node
- poj2421 MST(prim+临接表)
- Android Camera 使用小结
- JS获取屏幕大小---个人认为很有用,因此转载收藏之
- 用DirectSound在窗口中播放声音,可当窗口失去焦点后却不播放的解决办法
- 探索推荐引擎内部的秘密,第 3 部分: 深入推荐引擎相关算法 – 聚类
- c++模板元编程2
- 微信公平台的开发之初
- 哈希表之一-----概念和理论