LeetCode: Populating Next Right Pointers in Each Node
2014-05-12 17:57
417 查看
思路:遍历过程是广度优先,采用两个队列queue1,queue2, queue1存储每一层待展开的节点,queue2存储queue1对应的下一层的节点,设置next值也在这一层展开。
class Solution { public: void connect(TreeLinkNode *root) { if(root){ queue<TreeLinkNode *> que1,que2; TreeLinkNode * curNode = root; que1.push(curNode); while(1){ if(que1.empty())break; curNode = que1.front(); que1.pop(); if(curNode->left) que2.push(curNode->left); if(curNode->right) que2.push(curNode->right); if(que1.empty()) while(!que2.empty()){ curNode = que2.front(); que2.pop(); if(!que2.empty()) curNode->next = que2.front(); que1.push(curNode); } } } } };
相关文章推荐
- DOM(文档对象模型)
- hadoop namenode启动异常,死活失败
- 配置集群,tasktracker与datanode启动一会儿后,自动消失
- C#加密NodeJS解密
- Hadoop添加节点datanode
- GDataXMLNode 解析
- How to change hostname for E-Business Suite Release 12 on single node (Doc ID 1277556.1)
- NodeJs 简介以及安装
- 解决 Name node is in safe mode
- nodejs开发
- ahjesus让nodejs支持dotjs模板
- 在mac上安装nodejs
- Etag缓存在PHP和NodeJS中的实现
- PRKS-1000 : ASM instance "+ASM1" already exists on node "sol1&
- hadoop 启动的时候datanode报错 Problem connecting to server
- node.js开发之RBAC用户角色权限设计方案
- PHP 优于 Node.js 的五大理由
- PHP 优于 Node.js 的五大理由
- [LeetCode] Swap Nodes in Pairs
- 【LeetCode】Reverse Nodes in k-Group