使用python建立简单的树机构
生活随笔
收集整理的這篇文章主要介紹了
使用python建立简单的树机构
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼
import sysclass TreeNode:def __init__(self, x):self.val = xself.left = Noneself.right = Noneclass Solution:def preorderTraversal(self, root):""":type root: TreeNode:rtype: List[int]"""ret = []stack = [root]while stack:node = stack.pop()if node:ret.append(node.val)stack.append(node.right)stack.append(node.left)return retdef list_to_treenode(input_values):if not input_values:return Noneroot = TreeNode(int(input_values[0]))node_queue = [root]front = 0index = 1while index < len(input_values):node = node_queue[front]front += 1item = input_values[index]index += 1if item != "null":left_num = int(item)node.left = TreeNode(left_num)node_queue.append(node.left)if index >= len(input_values):breakitem = input_values[index]index += 1if item != "null":right_num = int(item)node.right = TreeNode(right_num)node_queue.append(node.right)return rootdef main():line = sys.stdin.readline().strip()values = list(map(str, line.split()))root = list_to_treenode(values)pret = Solution().preorderTraversal(root)print(pret)if __name__ == '__main__':main()
測試
# 輸入
3 9 20 null null 15 73/ \9 20/ \15 7# 前序遍歷
[3, 9, 20, 15, 7]
總結
以上是生活随笔為你收集整理的使用python建立简单的树机构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019秋招面试常考题目
- 下一篇: Redis学习之路(一)--下载安装re