今天再分享一段代码( Python 二叉树遍历)

2018-10-07 07:42:14 +08:00
 ltoddy
class TreeNode:
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None


def traversal(node):
    if node:
        yield from traversal(node.left)
        yield node.val
        yield from traversal(node.right)

其实也是最近几个月在每天都刷一两道 leetcode 题目.

https://github.com/ltoddy/leetcode

5279 次点击
所在节点    Python
31 条回复
Perry
2018-10-07 08:04:24 +08:00
就一个最基础的 inorder traversal 需要分享吗...
ltoddy
2018-10-07 08:18:09 +08:00
@Perry 可是,如果是你写个遍历,会这么简洁的写出来吗?
mysticzt123
2018-10-07 08:20:06 +08:00
这是 leetcode 上别人的答案吧 去年刷题的时候好像见过
ltoddy
2018-10-07 08:26:27 +08:00
@mysticzt123 那看来有共鸣了.(窃喜
bucky
2018-10-07 08:31:17 +08:00
中序,递归,yield
qile1
2018-10-07 08:47:16 +08:00
看不懂,上面那个类是干啥的,好像没有引用
lhx2008
2018-10-07 08:49:27 +08:00
不过是语法糖而已。。排序直接 sort 不也美哉
AnyISalIn
2018-10-07 08:52:39 +08:00
就是递归啊。生成器的语法糖而已
ltoddy
2018-10-07 09:05:02 +08:00
@lhx2008 按你的说法应该用 bisect 吧。
ltoddy
2018-10-07 09:05:45 +08:00
@lhx2008 按你的说法,应该是用 bisect 把?
Raisu
2018-10-07 10:27:12 +08:00
。。。。这
Mitt
2018-10-07 10:30:06 +08:00
这也需要拿出来分享,你是在黑 pythoner 吗
ltoddy
2018-10-07 10:41:54 +08:00
@Mitt 还好 Python 程序员叫 pythonista.
sww4718168
2018-10-07 10:58:27 +08:00
`yield from` 真是让我们省了好多好多代码。
carlclone
2018-10-07 11:38:10 +08:00
....
zpxshl
2018-10-07 11:56:05 +08:00
........
d18
2018-10-07 14:36:38 +08:00
楼主不是计算机专业吧,这是数据结构基础了。
sudoz
2018-10-07 14:58:05 +08:00
@ltoddy 你所谓的『简洁』不是算法的简洁,只是 Python 语法额外赠送的『简洁』
mathzhaoliang
2018-10-07 15:08:44 +08:00
@Mitt 楼主的本意是推销 repo ... 等广告打够了就要放公众号和打赏二维码了 ...
d18
2018-10-07 15:16:59 +08:00
我错了,原来楼主你是来推销自己的 GitHub 的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/495275

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX