首页 > 其他分享 >leetcode 热题100刷题-二叉树的中序遍历

leetcode 热题100刷题-二叉树的中序遍历

时间:2022-08-24 08:00:06浏览次数:85  
标签:None 遍历 中序 li 二叉树 节点 root 热题 out

题号:94

题目:二叉树的中序遍历

难度:简单

链接:https://leetcode.cn/problems/binary-tree-inorder-traversal/

2022/08/23答案

算法思路

  本题在课程中是学过的。

  大致的思路就是利用迭代。首先是前序、中序、后序的遍历的意思,可以直接通过前/中/后这三个字来理解。前就是第一个遍历根节点(根节点->左子树->右子树),中就是第二个遍历根节点(左子树->根节点->右子树),后就是最后再遍历根节点(左子树->右子树->根节点)。

  那样的话,可以通过递归的思想来实现。

  当然因为递归对我来说真的是只可意会不可言传(我真的不是特别的能理解递归)。

代码

class Solution:

    def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
        """
        查看数据
        TreeNode{val: 1, left: None, right: TreeNode{val: 2, left: TreeNode{val: 3, left: None, right: None}, right: None}}
        """
        if root == None:
            return []
        li_out = []
        li_out = self.inorderTraversal(root.left)

        li_out.append(root.val)

        li_out.extend(self.inorderTraversal(root.right))

        return li_out

结果

  

思考

  让我自己写递归的话,我肯定是不行的。但进阶版貌似是利用迭代?稍后会再行思考。

标签:None,遍历,中序,li,二叉树,节点,root,热题,out
From: https://www.cnblogs.com/xiaoaozi/p/16616677.html

相关文章

  • 2022-8-22 剑指offer-优先队列-每日一题-二叉树-搜索/递归
    剑指OfferII060.出现频率最高的k个数字难度中等36收藏分享切换为英文接收动态反馈给定一个整数数组 nums 和一个整数 k ,请返回其中出现频率前 k 高的元......
  • 算法---二叉树的前序遍历
    知识点树递归dfs广度优先搜索(BFS)描述给你二叉树的根节点root,返回它节点值的前序遍历。数据范围:二叉树的节点数量满足0≤n≤100 0\len\le100\0≤......
  • 平衡二叉树
    1.为什么需要平衡二叉树?二叉排序树可能的存在的问题给你一个数列{1,2,3,4,5,6},要求创建一颗二叉排序树(BST),并分析问题所在.上图BST存在的问题分析:左子树全部为......
  • 655. 输出二叉树
    655.输出二叉树给你一棵二叉树的根节点root,请你构造一个下标从0开始、大小为mxn的字符串矩阵res,用以表示树的格式化布局。构造此格式化布局矩阵需要遵循......
  • 二叉树应用题
    1.非递归先序vector<int>preorderTraversal(TreeNode*root){vector<int>nums;stack<TreeNode*>s;while(root||!s.empty()){if(root){......
  • 二叉树遍历方法总结
    二叉树基本概念面试的时候提到的树,大部分都是二叉树.所谓二叉树是树的一种特殊结构,在二叉树中每个节点最多只能有两个子节点,在二叉树中最重要的操作莫过于遍历,即......
  • 数据结构3-二叉树
    二叉树概念  二叉树分类  二叉树遍历方式 ......
  • 102.binary-tree-level-order-traversal 二叉树的层序遍历
    利用queue先进先出的特性进行处理,利用queue.size()来识别元素是否在二叉树的同一层,同时要注意不能直接i<q.size()来判断,因为q.size()是不断变化的。classSolution{......
  • 107.binary-tree-level-order-traversal-ii 二叉树的层序遍历II
    参考102.binary-tree-level-order-traversal二叉树的层序遍历,翻转一下结果数组就好了。classSolution{public:vector<vector<int>>levelOrderBottom(TreeNode......
  • 【数据结构】红黑树与平衡二叉树的区别以及原理详解(附图解)
    引用网址:https://blog.csdn.net/weixin_44780082/article/details/112239269文章目录前言一、什么是红黑树1.1平衡二叉树1.2红黑树1.3平衡二叉树和红黑树的区别二、红黑......