[LeetCode]Populating Next Right Pointers in Each Node
来源:互联网 发布:维启网络 编辑:程序博客网 时间:2024/06/04 06:18
解题思路:
宽度搜索。
1,增加一个queue记录height;
2,从queue出来的node,如果与前一个node的height一样,则让前一个node->next = curnode;
3,每次循环,都更新preNode 和preHeight;
/** * Definition for binary tree with next pointer. * struct TreeLinkNode { * int val; * TreeLinkNode *left, *right, *next; * TreeLinkNode(int x) : val(x), left(NULL), right(NULL), next(NULL) {} * }; */class Solution {public: void connect(TreeLinkNode *root) { queue<TreeLinkNode* > qNodes; queue<int> qHeight; qNodes.push(root); qHeight.push(0); TreeLinkNode* preNode = NULL; int preHeight = -1; while(!qNodes.empty()){ TreeLinkNode* curNode = qNodes.front(); qNodes.pop(); int curHeight = qHeight.front(); qHeight.pop(); if (curNode != NULL){ if (curHeight == preHeight){ preNode->next = curNode; } preNode = curNode; preHeight = curHeight; qNodes.push(curNode->left); qHeight.push(curHeight + 1); qNodes.push(curNode->right); qHeight.push(curHeight + 1); } } }};
0 0
- [LeetCode]Populating Next Right Pointers in Each Node
- 【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
- [Leetcode] Populating Next Right Pointers in Each Node ii
- leetcode Populating Next Right Pointers in Each Node II
- Mac 开机后黑屏
- python中的那些“神器”
- 北旅
- 微信语音
- C++调用c# dll
- [LeetCode]Populating Next Right Pointers in Each Node
- 写一个简单的批处理(bat)
- 功能(黑盒)测试
- 如何不进行逻辑判断来比较两个数的大小
- 【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记41 Animation动画
- 主机虚拟机和开发板ping不通的问题
- jQuery攻略
- ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
- 欢迎使用CSDN-markdown编辑器