博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【题解】【BT】【Leetcode】Populating Next Right Pointers in Each Node
阅读量:6258 次
发布时间:2019-06-22

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

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.
  • You may assume that it is a perfect binary tree (ie, all leaves are at the same level, and every parent has two children).

 For example,

Given the following perfect binary tree,

1       /  \      2    3     / \  / \    4  5  6  7

 After calling your function, the tree should look like:

1 -> NULL       /  \      2 -> 3 -> NULL     / \  / \    4->5->6->7 -> NULL

思路:

这题看似Binary Tree Level Order Traversal,实则因为满二叉树的设定,相比要简单太多,提前计算好每层的节点数就OK

代码:

1 void connect(TreeLinkNode *root) { 2     if(root == NULL) return;//考虑自身为空 3     queue
nodeQ; 4 nodeQ.push(root); 5 int n = 1; 6 int i = 0; 7 while(!nodeQ.empty()){ 8 TreeLinkNode* top = nodeQ.front(); 9 nodeQ.pop();10 if(++i != n){11 top->next = nodeQ.front();12 }else{13 n *= 2;14 i = 0;15 }16 if(top->left != NULL)//考虑左右子树为空(叶子节点)的情况17 nodeQ.push(top->left);18 if(top->right != NULL)19 nodeQ.push(top->right);20 }21 }

 

转载于:https://www.cnblogs.com/wei-li/p/PopulatingNextRightPointersinEachNode.html

你可能感兴趣的文章
深入理解 Java 动态代理机制
查看>>
Go基础系列:简单数据类型
查看>>
[UWP]合体姿势不对的HeaderedContentControl
查看>>
使用RSA加密在Python中逆向shell
查看>>
MS UI Automation
查看>>
Android开发指南(41) —— Searchable Configuration
查看>>
现代软件工程 怎么教好课 (读书笔记)
查看>>
磁盘fat32转NTFS
查看>>
关于和技术人员交流的一二三
查看>>
Ubuntu10下MySQL搭建Amoeba系列(文章索引)
查看>>
产生sdp文件供DSS使用
查看>>
《洛克菲勒留给儿子的38封信》 第五封:要有竞争的决心
查看>>
STL vector vs list function comparison:
查看>>
应用服务器和web server 的区别
查看>>
Libevent笔记
查看>>
mycelipse之安装SVN1.6.5(转载)
查看>>
怎样把数据汇到Excel中的心得经验
查看>>
状态键盘完美适应iOS中的键盘高度变化
查看>>
Linux下oracle11g 导入导出操作详细
查看>>
每日英语:When Computer Games May Keep The Brain Nimble
查看>>