面試題 17.12. BiNode
阿新 • • 發佈:2020-09-20
二叉樹資料結構TreeNode可用來表示單向連結串列(其中left置空,right為下一個連結串列節點)。實現一個方法,把二叉搜尋樹轉換為單向連結串列,要求依然符合二叉搜尋樹的性質,轉換操作應是原址的,也就是在原始的二叉搜尋樹上直接修改。
返回轉換後的單向連結串列的頭節點。
注意:本題相對原題稍作改動
示例:
輸入: [4,2,5,1,3,null,6,0]
輸出: [0,null,1,null,2,null,3,null,4,null,5,null,6]
提示:
節點數量不會超過 100000。
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/binode-lcci
# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def convertBiNode(self, root: TreeNode) -> TreeNode: self.cur=self.head=TreeNode(None) self.inOrder(root)return self.head.right def inOrder(self,root): if not root:return self.inOrder(root.left) root.left=None self.cur.right=root self.cur=root self.inOrder(root.right)