LeetCode Populating Next Right Pointers in Each Node (技巧)
2015-11-03 22:35
651 查看
题意:
给一棵满二叉树,要求将每层的节点从左到右用next指针连起来,层尾指向NULL即可。
思路:
可以递归也可以迭代。需要观察到next的左孩子恰好就是本节点的右孩子的next啦。
(1)递归:这个更快。
AC代码
给一棵满二叉树,要求将每层的节点从左到右用next指针连起来,层尾指向NULL即可。
思路:
可以递归也可以迭代。需要观察到next的左孩子恰好就是本节点的右孩子的next啦。
(1)递归:这个更快。
/** * 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) { while(root&&root->left) { TreeLinkNode *p=root; while(p) { p->left->next=p->right; if(p->next) p->right->next=p->next->left; p=p->next; } root=root->left; } } };
AC代码
相关文章推荐
- Node JS学习笔记
- NodeJS操作文件相关总结
- LeetCode OJ:Remove Nth Node From End of List(倒序移除List中的元素)
- node.js+mysql把数据显示到前端简单实例
- leetcode-Delete Node in a Linked List
- nodejs
- ubuntu 开发环境配置及安装 nodejs
- ubuntu 开发环境配置及安装 nodejs
- node.js 中createConnection参数说明
- Node开发项目管理工具 Grunt 对比 Gulp
- Node.js入门
- node express
- LeetCode--Delete Node in a Linked List
- [美国VPS]Ramnode测试
- node.js创建并引用模块
- NodeJS 模块开发及发布详解分享
- 如何发布Node模块到NPM社区
- LeetCode Delete Node in a Linked List 链表
- LeetCode Count Complete Tree Nodes 二叉树
- 《leetCode》:Remove Nth Node From End of List