Populate Next Right Pointer in Each Node
来源:互联网 发布:网络平台贷款逾期 编辑:程序博客网 时间:2024/06/07 01:39
分析:
方法1: 如果是递归。可以考虑父节点为一个link list 来链接下面的子节点。如果父节点为空说明子节点也要链接完了。
先序遍历,也就是从上到下,从左到右依次链接。时间复杂度是O(n) 空间复杂度是 O(logn)
方法2: 如果是迭代。一般的思路是用一个queue来存放每一层的节点,在根据已有的层来安排下一层的节点。
要求是constant space 所以不能用queue。其实,这里题目有一个数据结构,list。而且节点也都存在,只需要相互之间链接就可以了。
同样是按照BFS,根据上一层的信息来安排下一层。关键是安排这一层list的head和指针。
时间复杂度是 O(n), 空间复杂度 O(1)
Code (C++):
class Solution {public: void connect(TreeLinkNode *root) { if(root == NULL) return; TreeLinkNode *head = NULL; root->next = NULL; TreeLinkNode *cur = root; TreeLinkNode *p = head; while(cur!=NULL) { while(cur!=NULL) { if(cur->left!=NULL) { if(head == NULL) { head = cur->left; p = head; } else { p->next = cur->left; p = p->next; } } if(cur->right!=NULL) { if(head == NULL) { head = cur->right; p = head; } else { p->next = cur->right; p = p->next; } } cur = cur->next; } cur = head; head = NULL; } return; } };
0 0
- Populate Next Right Pointer in Each Node
- populate next right pointer in each node
- Leetcode: Populating Next Right Pointer in Each Node
- LeetCode: Populating Next Right Pointer in Each Node II
- [LeetCode] Populating Next RIght Pointer in Each Node II
- [LeetCode] Populate the next right pointer in binary tree I
- [LeetCode] Populate the next right pointer in binary tree II
- 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
- POJ 3468 线段树
- 如何将文章带格式的存入数据库,并带格式的输出以及数据库经常插入空行问题
- POJ - 2828 - Buy Tickets (线段树)
- leetcode:Implement Trie (Prefix Tree)
- php常用无限级分类
- Populate Next Right Pointer in Each Node
- URAL 1855 区间更新线段树
- QWT6.1.2安装使用 Win8 64位 Qt5.3.1_MSVC2013
- STL之complex
- ZOJ 3299 线段树
- 欢迎使用CSDN-markdown编辑器
- java List 去重,list去除重复
- csu oj 1539 数学公式
- POJ - 2342 Anniversary party 树形DP