[LeetCode] 114. Flatten Binary Tree to Linked List

xiaoxiao2021-02-28  63

题:https://leetcode.com/problems/flatten-binary-tree-to-linked-list/description/

题目

Given a binary tree, flatten it to a linked list in-place.

For example, given the following tree:

1

/ \ 2 5 / \ \ 3 4 6 The flattened tree should look like:

1 \ 2 \ 3 \ 4 \ 5 \ 6

思路

递归,把左树放在右树的位置,将右树放到,左树的末端。

code

# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def flatten(self, root): """ :type root: TreeNode :rtype: void Do not return anything, modify root in-place instead. """ if root == None: return None leftnode = root.left rightnode = root.right root.left = None self.flatten(leftnode) self.flatten(rightnode) root.right = leftnode; cur = root while cur.right != None: cur = cur.right cur.right = rightnode
转载请注明原文地址: https://www.6miu.com/read-2631158.html

最新回复(0)