LeetCode刷题-117. 填充每个节点的下一个右侧节点指针 II
¶题解:
上一题的进阶版,二叉树变得更加的普通!
¶题目简述:
给定一棵非常普通的二叉树,每个节点多一个next
指针,我们需要将其指向同一行紧挨着的下一个节点!
要求空间O(1)
¶题解:
不要求空间则可以通过简单BFS实现!
和上一题思想类似: 不过这个题我么无法直接通过上一层来找到下一层的对应关系,但是我们可以对下一层进行构造横向链表!
- 若下一层存在:构建虚拟头结点以及尾指针,进行尾插法形成下一层单链表
- 若上一层节点左儿子存在,则尾插法插入该节点
- 若上一层节点右儿子存在,则尾插法插入该节点
- 走向下一层,
cur = head->next
,由于head
为虚拟头节点
时间复杂度:同样每个节点遍历一次,为O(n)
¶AC代码:
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小牛博客!
评论