您的位置:首页 > Web前端 > Node.js

LeetCode_populating-next-right-pointers-in-each-node

2015-09-07 20:16 423 查看
原题链接:https://leetcode.com/problems/populating-next-right-pointers-in-each-node/

class Solution {
public:
void connect(TreeLinkNode *root) {
queue<TreeLinkNode* > que1,que2;
TreeLinkNode *pre;
pre = NULL;
if(root)
{
que1.push(root);
while(!que1.empty() || !que2.empty())
{
while(!que1.empty())
{
root = que1.front();
que1.pop();
if(pre)
pre->next = root;

if(root->left)
que2.push(root->left);
if(root->right)
que2.push(root->right);
pre = root;
}
root->next = NULL;
pre = NULL;

while(!que2.empty())
{
root = que2.front();
que2.pop();
if(pre)
pre->next = root;

if(root->left)
que1.push(root->left);
if(root->right)
que1.push(root->right);
pre = root;
}
root->next = NULL;
pre = NULL;//注意不能遗漏
}
}
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: