题目

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

最新文章

  1. 完整全面的Java资源库(包括构建、操作、代码分析、编译器、数据库、社区等等)
  2. Device Tree(三):代码分析【转】
  3. 【转】JAVA SSH 框架介绍
  4. 【转】angular通过$http与服务器通信
  5. YesNo列
  6. Win7下安装Ubuntu双系统常见问题
  7. 我终于解决UM编辑器了 泪......
  8. 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)
  9. 重新认识JavaScript里的数据类型
  10. TCP/IP协议之IP层
  11. 推荐几个不错的 java 教程和 HTML 教程
  12. Netbeans简要配置许可证信息
  13. NRPE介绍
  14. Representations of graphs
  15. 面试4——java进程和线程相关知识
  16. jsp获取传过来的值
  17. Odoo 开源协议讨论
  18. XiaoKL学Python(E)Generator Expressions
  19. PAT甲题题解-1117. Eddington Number(25)-(大么个大水题~)
  20. poj2679

热门文章

  1. 给a链接跳转后的页面添加class
  2. python int str
  3. Python导入jar包
  4. 在Linux中执行.sh脚本,异常
  5. linux_wget 使用
  6. psql的安装与数据库创建(ubuntu)
  7. Vue的理解:Vue.js新手入门指南----转
  8. jquery,attr,prop,checkbox标签已有checked=checked但是不显示勾选
  9. AIUI开放平台:多轮对话返回前几轮语槽数据
  10. win10+vs2015编译caffe的cpu debug版本、部署matcaffe