LeetCode刷题-116. 填充每个节点的下一个右侧节点指针
¶题解:
类似链表的操作题!
¶题目简述:
给定一个二叉树,该二叉树每个节点多一个next
指针用来横着指向下一个节点!
要求:空间O(1)
¶题解:
类似BFS:
该题要求空间O(1)
,所以使用很简单的栈实现的BFS就不能使用了!
思路:
- 若下一层存在,则通过上一层的每个节点
p
来链接下一层之间的关系:- 先连接上一层根节点的左儿子为其右儿子,即
p->left->next = p->right
- 若上一层有后一个节点:(即此时为两个父亲四个儿子正中间的情况),即
p->right->next = p->next->left
- 先连接上一层根节点的左儿子为其右儿子,即
- 接下来,走到下一层,即
level = level->left
时间复杂度:每个节点遍历一次为O(n)
¶AC代码:
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小牛博客!
评论