116:Populating Next Right Pointers in Each Node【树】【DFS】
来源:互联网 发布:什么是ai设计软件 编辑:程序博客网 时间:2024/06/09 19:24
题目链接:click~
/*题意:f给定一个完全二叉树,将每一层的结点连接起来,要求使用O(1)的空间*//** *思路:1)按层遍历完全二叉树,记录每一层的第一个需要遍历的结点。观察发现, 下一层的第一个节点是本层第一个结点的左子结点。 * 2)把属于同一个父节点的左右子节点连接起来 * 3)连接不属于同一个父节点的临近结点,即跨子树的连接:我们可以通过父节点 * 的next指针,获取另一个父节点,那么该结点的左子结点就是临近结点。 * */class Solution {public: void connect(TreeLinkNode *root) { if(root == NULL) return; TreeLinkNode *currLevel = root; while(currLevel != NULL) { TreeLinkNode *across = currLevel; while(across != NULL) { if(across->left != NULL) //将左右子结点连接起来 across->left->next = across->right; if(across->right != NULL && across->next != NULL) //跨子树连接 across->right->next = across->next->left; across = across->next; //同一层向后走 } currLevel = currLevel->left;//转到下一层 } }};
0 0
- 116:Populating Next Right Pointers in Each Node【树】【DFS】
- DFS&遍历 Populating Next Right Pointers in Each Node
- [leetcode][tree][dfs] Populating Next Right Pointers in Each Node
- (M)DFS:116. 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
- Excel Sheet Column Title
- C#结构体和字节数组的转换函数
- 【深入JAVA】正则匹配
- android 禁止屏幕转向
- Markdown 学习资源整理
- 116:Populating Next Right Pointers in Each Node【树】【DFS】
- 复制构造函数和析构函数经典例子
- Json-fastjson
- 第五课:创建多窗体程序
- 经典SQL查询语句大全
- ACM模板列表
- git使用
- Android自定义控件系列九:从源码看Android触摸事件分发机制
- php对象与内存分配图解