二叉树展开为链表
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def flatten(self, root: TreeNode) -> None:
"""
Do not return anything, modify root in-place instead.
"""
#注意这道题是要在root上进行修改,所以不能用另一个变脸返回,要不不会通过
tem = []
def dfs(root):
if not root:
return
tem.append(root)
dfs(root.left)
dfs(root.right)
dfs(root)
for i in range(1, len(tem)):
root.left = None
tem[i].left = None
root.right = tem[i]
root = root.right#注意这虽然在最后root变为了最后一个右节点,但是这道题目给机器评测的时候还是返回的最初的root的节点