博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 117 Populating Next Right Pointers in Each Node II
阅读量:4974 次
发布时间:2019-06-12

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

 

 

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,

 

After calling your function, the tree should look like:

 

 

这道题目和上一道不同的是,它不是完全二叉树。则不能通过节点数计算是否在哪一层

c++

class Solution {public:    void connect(TreeLinkNode *root) {                if(root==NULL) return;        queue
> q; TreeLinkNode* pre = NULL; q.push(make_pair(1,root)); int y = 0; while(!q.empty()) { TreeLinkNode* temp = q.front().second; int lever = q.front().first; q.pop(); if(lever!=q.front().first||q.empty()) { if(pre!=NULL) pre->next =temp; temp->next = NULL; pre = NULL; } else{ if(lever!=y) {y=lever;pre = temp; pre->next =NULL;} else { pre->next = temp;pre = temp;pre->next=NULL; } } if(temp->left!=NULL) q.push(make_pair(lever+1,temp->left)); if(temp->right!=NULL) q.push(make_pair(lever+1,temp->right)); } }};

 

 

转载于:https://www.cnblogs.com/dacc123/p/9291712.html

你可能感兴趣的文章
Oracle命令类别
查看>>
stc12c5a60s2驱动TEA5767收音机模块硬件调试总结
查看>>
vue中提示$index is not defined
查看>>
css选择器
查看>>
ASP.NET上传下载文件
查看>>
Galaxy Nexus 全屏显示-隐藏Navigation Bar
查看>>
Spring中使用Velocity模板
查看>>
上周热点回顾(8.18-8.24)
查看>>
Feature toggle
查看>>
day02
查看>>
gvim 配置Pydiction
查看>>
Linux安装指定mysql版本
查看>>
分布式锁的三种实现方式
查看>>
poj 2109 pow函数也能这么用?p的开n次方
查看>>
Oracle database link
查看>>
python调用shell小技巧
查看>>
TL431的几种常用用法
查看>>
js 经典闭包题目详解
查看>>
在项目中移除CocoaPods
查看>>
【洛谷】CYJian的水题大赛【第二弹】解题报告
查看>>