[Leetcode][二叉树]相关题目汇总/分析/总结

题目汇总

以下链接均为我博客内对应博文,有解题思路和代码,不定时更新补充。

目前范围:Leetcode前150题

生成二叉树

遍历二叉树

前中后三种序列,递归都是一样的理解。迭代的话,前后两个可以互相理解。中序需要单独理解。当然我认为可能我还没有理解透彻。

这三题都是层序遍历,没有什么特别大的区别。层序遍历基本都这样,举一反三。

  • Path Sum
    给定一个数和一棵树,求能否有一条路径上所有叶子结点数值加起来等于给定的数
    递归

  • Path Sum II
    将根到叶子的路径和为sum的路径都枚举出来。
    递归

第二题只不过是第一题得所有可能性保存到一个数组去。

其他题目

上面两题类似

二叉树总结

  • leetcode的测试集经常会有[], [0],所以很多题目先要考虑判断是否为空,return None或者return []。

  • 递归和迭代
    递归中必有迭代,迭代未必用到递归
    (递归(浪费资源反复调用函数)> 迭代)
    迭代——《明日边缘》
    递归——《盗梦空间》
    递归是一个树结构,每个分支都探究到最远,发现无法继续的时候往回走,每个节点只会访问一次
    迭代是一个环结构,每次迭代都是一个圈,不会拉掉其中的某一步,然后不断循环,每个节点都会被循环访问

  • 二叉树在python中用法
    root.val是该节点的值。
    root则相当于指向该节点的指针。
    root.left, root.right指向其左右节点的位置

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值