使用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建立简单的树机构相关推荐
- python建立简单的数据库_学会最简单的数据库|看完这7招就够了
这是菜鸟学Python的第93篇原创文章 阅读本文大概需要4分钟 前面一篇讲了数据库的基本介绍,目前流行的三大数据库有MySQL和Mongodb(还有一个以后告诉你),除了之外还有最简单的适合小白入手 ...
- python建立简单的人事管理项目(一)
先构建数据库环境,我用的软件是<Microsoft SQL Server Management Studio 18>安装请参考别的教程,也不好卸载了重装一遍,挺难装的. 以windows进 ...
- 使用python建立简单的单链表
代码 import sysclass ListNode:def __init__(self, x):self.val = xself.next = None# 将列表转换成链表 def list_to ...
- python建立简单的以太网连接并实现数据交互
打开pycharm,输入以下代码: from socket import * HOST = '127.0.0.1' PORT = 8234 BUFSIZ =1024 ADDR = (HOST, POR ...
- python树的实现_Python实现简单字典树的方法
本文实例讲述了Python实现简单字典树的方法.分享给大家供大家参考,具体如下: #coding=utf8 """代码实现了最简单的字典树,只支持由小写字母组成的字符串. ...
- python 实现字典树_Python实现简单字典树的方法
本文实例讲述了Python实现简单字典树的方法.分享给大家供大家参考,具体如下: #coding=utf8 """代码实现了最简单的字典树,只支持由小写字母组成的字符串. ...
- python123八边形绘制_使用python实现简单的画多边形。
原博文 2017-08-27 13:21 − import turtleimport timeimport mathdef polygon(bob,n,r): jiaoDu = 360/n juLi= ...
- 怎样用python绘制简单的图形_用python 画几个简单图案
原博文 2019-11-15 09:44 − 1 turtle turtle这个库真的很好玩,用很简单几行代码就能画出好看的图案,最近无聊翻了翻之前自己画的哈哈哈哈,分享几个代码 画一个类似五颜六色的 ...
- 理解神经网络,从简单的例子开始(2)使用python建立多层神经网络
这篇文章将讲解如何使用python建立多层神经网络.在阅读这篇文章之前,建议先阅读上一篇文章:理解神经网络,从简单的例子开始.讲解的是单层的神经网络.如果你已经阅读了上一篇文章,你会发现这篇文章的代码 ...
最新文章
- mysql5.6与mysql5.5不同
- 前端学习(632):转义字符
- linux在线扩展文件系统空间ext2online
- uva11054 - Wine trading in Gergovia(等价转换,贪心法)
- 天的故事 V1.0.2
- 毕啸南专栏 | 对话今日头条副总裁马维英:有技术也要有价值观
- RHCE培训笔记——Samba
- java中的垃圾收集器_Java中的垃圾收集
- 使用docker环境编译驱动
- 编程吸金榜:你排第几?网友神回应了 !
- 计算机网络专业就业压力,网络工程专业就业形势研究
- 中国已消失的 9 所世界级大学
- ppt流程图按步骤链接_【PPT教程】在PowerPoint中5分钟制作一个流程图
- 指针真的是个小机灵--将字符串中的n个字符左移,串中的前n个字符移到最后
- 知乎上102个简短而深刻的回答:看完人生豁然开朗
- 操作系统——磁盘操作
- 如何解决 bin log 与 redo log 的一致性问题
- Redis怎么优雅删除key
- 白天写代码,晚上驯豹子,就是这么有趣~
- crc32校验的c语言实现
热门文章
- 什么是LinkedList?什么时候使用它呢?Java LinkedList结构、用法及源码解析
- Yolo:实时目标检测实战(下)
- [JAVA EE] JPA技术基础:完成数据列表的删除
- error: No resource identifier found for attribute 'showAsAction' in package 'com.ymeng.项目名字'
- CF533A Berland Miners
- python 字符串内容
- 如何禁止浏览器自动填充
- 本地运行github上的vue2.0仿饿了么webapp项目
- python学习-day2_课堂作业
- @Controller和@RestController的区别?