LeetCode OJ 117. Populating Next Right Pointers in Each Node II
2024-10-16 11:19:02
题目
Given a binary tree
struct TreeLinkNode {
TreeLinkNode *left;
TreeLinkNode *right;
TreeLinkNode *next;
}
Populate each next pointer to point to its next right node. If there is no next right node, the next pointer should be set to NULL.
Initially, all next pointers are set to NULL.
Note:
You may only use constant extra space.
Recursive approach is fine, implicit stack space does not count as extra space for this problem.
Example:
Given the following binary tree,
1
/ \
2 3
/ \ \
4 5 7
After calling your function, the tree should look like:
1 -> NULL
/ \
2 -> 3 -> NULL
/ \ \
4-> 5 -> 7 -> NULL
解答
这题就是层序遍历二叉树。。。又是一遍就AC了。
下面是AC的代码:
/**
* 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:
queue<TreeLinkNode *> q;
void connect(TreeLinkNode *root) {
if(root == NULL){
return ;
}
q.push(root);
int i;
while(i = q.size()){
while(i--){
TreeLinkNode *temp = q.front();
q.pop();
if(i == 0){
temp->next = NULL;
}
else{
temp->next = q.front();
}
if(temp->left != NULL){
q.push(temp->left);
}
if(temp->right != NULL){
q.push(temp->right);
}
}
}
}
};
137
最新文章
- 完整全面的Java资源库(包括构建、操作、代码分析、编译器、数据库、社区等等)
- Device Tree(三):代码分析【转】
- 【转】JAVA SSH 框架介绍
- 【转】angular通过$http与服务器通信
- YesNo列
- Win7下安装Ubuntu双系统常见问题
- 我终于解决UM编辑器了 泪......
- 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)
- 重新认识JavaScript里的数据类型
- TCP/IP协议之IP层
- 推荐几个不错的 java 教程和 HTML 教程
- Netbeans简要配置许可证信息
- NRPE介绍
- Representations of graphs
- 面试4——java进程和线程相关知识
- jsp获取传过来的值
- Odoo 开源协议讨论
- XiaoKL学Python(E)Generator Expressions
- PAT甲题题解-1117. Eddington Number(25)-(大么个大水题~)
- poj2679