LeetCode[Tree]: Populating Next Right Pointers in Each Node II
来源:互联网 发布:学淘宝运营要多长时间 编辑:程序博客网 时间:2024/06/03 15:36
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,
After calling your function, the tree should look like:
我的C++代码实现如下:
class Solution {public: void connect(TreeLinkNode *root) { for (TreeLinkNode *levelFirstNode = root; levelFirstNode != nullptr; levelFirstNode = getNext(levelFirstNode)) { for (TreeLinkNode *curNode = levelFirstNode; curNode != nullptr; curNode = curNode->next) { if (curNode->left) curNode->left->next = curNode->right ? curNode->right : getNext(curNode->next); if (curNode->right) curNode->right->next = getNext(curNode->next); } } }private: TreeLinkNode *getNext(TreeLinkNode *node) { while (node) { if (node->left) return node->left; if (node->right) return node->right; node = node->next; } return nullptr; }};
其中,getNext函数获取的是从当前节点开始的下一层的第一个节点。但是这种算法的时间性能表现非常不好(如下图所示),希望发掘更好更快的算法来解决这个问题。
0 0
- LeetCode[Tree]: Populating Next Right Pointers in Each Node II
- LeetCode[Tree]: Populating Next Right Pointers in Each Node II
- [leetcode][tree] 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 II
- [Leetcode] Populating Next Right Pointers in Each Node II
- [LeetCode] Populating Next Right Pointers in Each Node II
- leetcode 79: 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 II
- 【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 II
- 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 II
- leetcode Populating Next Right Pointers in Each Node II
- LeetCode | Populating Next Right Pointers in Each Node II
- curl处理https 融云接口php
- Android DiskLruCache磁盘缓存
- Java--Timer类研究
- VL02N修改外交货的表头数据的BAPI
- python 火车票监控12306
- LeetCode[Tree]: Populating Next Right Pointers in Each Node II
- IOS之Quartz
- Sublime text 2
- MapReduce练习(一)
- iOS-UIView属性动画和常用方法
- apache poi读取excel(03版本之前)
- W2A_CP()宏转换
- ORACLE 11G 中采用rman备份异机恢复数据库详细过程
- CF 510D(Fox And Jumping-dp,注意赋值)