博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【一天一道LeetCode】#117. Populating Next Right Pointers in Each Node II
阅读量:4197 次
发布时间:2019-05-26

本文共 1536 字,大约阅读时间需要 5 分钟。

一天一道LeetCode

本系列文章已全部上传至我的github,地址:

欢迎大家关注我的新浪微博,
欢迎转载,转载请注明出处

(一)题目

Follow up for problem “Populating Next Right Pointers in Each Node”.

What if the given tree could be any binary tree? Would your previous solution still work?

Note:

  • You may only use constant extra space.

For 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

(二)解题

参考:

没想到昨天做的解法直接把今天的题给解了。一模一样的代码,请跳转到上题的解题思路:

/** * 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) {        if(root==NULL) return;        queue
myque; myque.push(root); while(!myque.empty()) { queue
temp_que; TreeLinkNode *pre = NULL; while(!myque.empty()) { TreeLinkNode *temp = myque.front(); myque.pop(); if(pre==NULL) pre = temp;//相当于每一层的头节点 else { pre->next = temp;//用next指针连接每一层的节点 pre = temp; } if(temp->left!=NULL) temp_que.push(temp->left);//下一层 if(temp->right!=NULL) temp_que.push(temp->right);//下一层 } pre->next=NULL;//最后一个节点的next需要指向NULL myque=temp_que;//进入下一层操作 } }};
你可能感兴趣的文章
php图像处理函数大全(缩放、剪裁、缩放、翻转、旋转、透明、锐化的实例总结)
查看>>
magento url中 uenc 一坨编码 base64
查看>>
强大的jQuery焦点图无缝滚动走马灯特效插件cxScroll
查看>>
Yii2.0 数据库查询
查看>>
yii2 db 操作
查看>>
mongodb group 有条件的过滤组合个数。
查看>>
yii2 用命令行操作web下的controller
查看>>
yii2 console的使用
查看>>
关于mongodb的 数组分组 array group
查看>>
MongoDB新的数据统计框架介绍
查看>>
mongodb fulltextsearch 关于语言的设置选项
查看>>
mongodb 增加全文检索索引
查看>>
symfony
查看>>
yourls 短连接 安装
查看>>
yii2 php namespace 引入第三方非namespace库文件时候,报错:Class not found 的解决
查看>>
softlayer 端口开放
查看>>
操作1:mongodb安装
查看>>
操作2:mongodb使用语法
查看>>
如何给分类增加一个属性(后台)
查看>>
linux设置环境变量 临时设置 和 永久设置
查看>>