leetcode 二叉树相关

【HCIA学习记录】WLAN配置实验 HCIA-WLAN 阅读详情

求根节点到叶节点的数字之和

/**
 * 129. Sum Root to Leaf Numbers
 * 求根节点到叶节点的数字之和
 * 递归出口,叶节点
 * @param root
 * @return
 */
public int sumNumbers(TreeNode root) {

    return  sumTree(root,0);
}

public int sumTree(TreeNode root,int sum) {

    if (root == null) {
        return 0;
    }
    if (root.left== null && root.right == null) {
        return sum*10 + root.val;
    }

    return sumTree(root.left,root.val +sum*10)+sumTree(root.right,sum*10+root.val);
}

Sum II 求根节点到叶节点的路径和为sum的所有的路径

  /**
 * 113. Path Sum II 求根节点到叶节点的路径和为sum的所有的路径
 * @param root
 * @param sum
 * @return
 */
public List<List<Integer>> pathSum(TreeNode root, int sum) {

    List<List<Integer>> result = new ArrayList<>();
    if (root == null) {
        return result;
    }

    if (root.left == null && root.right == null && sum == root.val) {
        List<Integer> r = new ArrayList<>();
        r.add(root.val);
        result.add(r);
    }

    List<List<Integer>> leftR = pathSum(root.left,sum - root.val);
    for (List<Integer> list: leftR) {

        list.add(0,root.val);
        result.add(list);
    }

    List<List<Integer>> rightR = pathSum(root.right,sum - root.val);
    for (List<Integer> list: rightR) {

        list.add(0,root.val);
        result.add(list);
    }
    return result;
}

求二叉树中的所有的从根节点到叶节点的路径

 /**
 * 257
 * 求二叉树中的所有的从根节点到叶节点的路径
 *
 * @param root
 * @return
 */
public List<String> binaryTreePaths(TreeNode root) {

    List<String> result= new ArrayList<>();
    if (root == null) {
        return result;
    }
    if (root.left== null && root.right == null) {
        result.add(root.val+"");
    }

    List<String> leftR = binaryTreePaths(root.left);
    for (String leftStr : leftR) {
        result.add(root.val+"->"+leftStr);
    }

    List<String> rightR = binaryTreePaths(root.right);
    for (String rightStr : rightR) {
        result.add(root.val+"->"+rightStr);
    }
    return result;
}

给出一颗二叉树和一个数值sum,求是否存在从根节点到叶子节点的路径使得节点和为sum

 /**
 * 112 给出一颗二叉树和一个数值sum,求是否存在从根节点到叶子节点的路径使得节点和为sum
 * 思路:
 * 使用递归思想,root到叶节点的和为sum是否存在也即要求root的
 * 左右子树是否存在到叶节点的路径之和为sum-root.val
 *
 * 注意:
 * 递归中止条件: 根节点到叶子节点的路径之和为sum
 * 递归过程,在左右子树中去找是否存在递归条件
 * @param root
 * @param sum
 * @return
 */
public boolean hasPathSum(TreeNode root, int sum) {

    if (root == null) {
        return false;
    }
    if (root.left == null && root.right == null) {
        return root.val == sum;
    }
    return hasPathSum(root.left,sum - root.val) || hasPathSum(root.right,sum - root.val);
}

求二叉树中所有左叶子节点的和

/**
* 404
* 求二叉树中所有左叶子节点的和
* 递归出口:左叶子节点(左右子树为空)
*思路:
* 当前节点的左孩子节点如果是叶节点,那么返回该节点的左孩子节点+右子树的左叶节点的和
* 否则,去左右子树中去寻找
*
* @param root
* @return
*/
public int sumOfLeftLeaves(TreeNode root) {

    if (root == null) {
        return 0;
    }

    if (root.left != null && root.left.left == null && root.left.right == null) {
        return root.left.val + sumOfLeftLeaves(root.right);
    }
    return sumOfLeftLeaves(root.left)+ sumOfLeftLeaves(root.right);
}

检查一课二叉树是不是对称的

 /**
 * 101
 * 检查一课二叉树是不是对称的
 * 思路:
 * 1.用一个双端队列来实现
 * 首先将根节点的左子树放到队列的头部,右子树放到尾部
 * 然后遍历队列:
 *      取出头部和尾部的节点
 *          如果头部节点和尾部节点值相等,那么将头部节点的左右子树分别放入队列的头部,尾部节点的左右子树分别放入队列的尾部
 *          如果不想等,直接返回
 * 遍历结束之后,如果队列里面的元素是空的,说明该树是对称的
 *
 * 2.用递归来实现
 * @param root
 * @return
 */
public static boolean isSymmetric(TreeNode root) {

    return root == null || isSymmetric1(root.left,root.right);
}

public static boolean isSymmetric1(TreeNode left,TreeNode right) {
    int result = (left == null? 1:0) + (right == null? 1: 0);
    if(result == 2) {
        return true;
    }else if (result == 1) {
        return false;
    }else {
        return left.val == right.val && isSymmetric1(left.left,right.right) && isSymmetric1(left.right,right.left);
    }
}

public static boolean isSymmetric1(TreeNode root) {

    if (root == null) {
        return true;
    }
    LinkedList<TreeNode> queue = new LinkedList<>();
    queue.addFirst(root.left);
    queue.addLast(root.right);
    while (!queue.isEmpty()) {

        TreeNode first = queue.pollFirst();
        TreeNode last = queue.pollLast();
        if (first == null && last == null) {
            continue;
        }else if (first == null || last == null) {
            return false;
        }else {
            if (first.val ==  last.val) {

                queue.addFirst(first.right);
                queue.addFirst(first.left);

                queue.addLast(last.left);
                queue.addLast(last.right);
            }else {
                return false;
            }
        }

    }
    return queue.isEmpty();
}

判断两棵树是否相等

 /**
 * 100 判断两棵树是否相等
 * @param p
 * @param q
 * @return
 */
public boolean isSameTree(TreeNode p, TreeNode q) {

    if (p== null && q == null) {
        return true;
    }

    if (p != null && q != null && p.val == q.val) {
        return isSameTree(p.left,q.left) && isSameTree(p.right,q.right);
    }
    return false;
}

求二叉树的最大深度

/**
* 求二叉树的最大深度
* 思路:
* 递归求解左右子树的最大深度,然后返回最大值即可
* @param root
* @return
*/
public static int maxDepth(TreeNode root) {

      if (root == null) {

          return 0;
      }

      return Math.max(maxDepth(root.left),maxDepth(root.right))+1;
}

求二叉树的最小深度

/**
 * 求二叉树的最小深度
 * 思路:
 * 需要考虑节点的下面的情况:
 *          只有左子树,
 *          只有右子树
 *          既有左子树也有右子树
 * @param root
 * @return
 */
public int minDepth(TreeNode root) {

    if (root == null) {
        return 0;
    }
    if (root.right == null) {
        return minDepth(root.left) + 1;
    }

    if (root.left == null) {
        return minDepth(root.right) + 1;
    }
    return Math.min(minDepth(root.left),minDepth(root.right))+1;
}

Binary Tree Right Side View

/**
 * 199. Binary Tree Right Side View
 * 思路:
 * 取每一层的最右边的节点!
 * 1.可以通过队列获取到每一层的节点,然后剥离每一层的最后一个节点!
 * 2.也可以通过栈来实现,每次将左孩子先入栈!判断节点的层级和结果数组大小的
 * 关系来决定要不要将节点放入结果集
 * @param root
 * @return
 */

public List<Integer> rightSideView1(TreeNode root) {
    List<Integer> result = new ArrayList<>();
    if(root == null){
        return result;
    }

    Stack<LevelNode> stack = new Stack();
    stack.push(new LevelNode(root,1));
    while(!stack.isEmpty()){

        LevelNode levelNode =  stack.pop();
        if (levelNode.level > result.size()) {
            result.add(levelNode.node.val);
        }

        if (levelNode.node.left != null) {
            stack.add(new LevelNode(levelNode.node.left,levelNode.level+1));
        }

        if (levelNode.node.right != null) {
            stack.add(new LevelNode(levelNode.node.right,levelNode.level+1));
        }
    }

    return result;
}

public List<Integer> rightSideView(TreeNode root) {

    List<List<Integer>> lists = new ArrayList<>();

    List<Integer> result = new ArrayList<>();
    if (root == null) {
        return result;
    }

    Queue<LevelNode> queue = new ArrayDeque<>();
    queue.add(new LevelNode(root,0));
    while (!queue.isEmpty()) {

        LevelNode levelNode = queue.poll();
        List<Integer> nodeList = null;
        if (levelNode.level == lists.size()) {
            nodeList = new ArrayList<>();
            lists.add(nodeList);
        }else {
            nodeList = lists.get(levelNode.level);
        }
        nodeList.add(levelNode.node.val);
        if (levelNode.node.left != null) {
            queue.add(new LevelNode(levelNode.node.left,levelNode.level+1));
        }

        if (levelNode.node.right != null) {
            queue.add(new LevelNode(levelNode.node.right,levelNode.level+1));
        }
    }

    for(List<Integer> tempList:lists){
        result.add(tempList.get(tempList.size() - 1));
    }
    return result;
}

Binary Tree Zigzag Level Order Traversal

 /**
 * 103. Binary Tree Zigzag Level Order Traversal
 * 从顶层向下“之”字形打印二叉树
 *
 * 思路:
 * 在队列的基础上,改变父节点的左右孩子的入队列的次序!
 *
 */
public List<List<Integer>> zigzagLevelOrder(TreeNode root) {

    List<List<Integer>> lists = new ArrayList<>();

    if (root == null) {
        return lists;
    }

    boolean reverseFlag = false;
    Queue<LevelNode> queue = new ArrayDeque<>();
    queue.add(new LevelNode(root,0));
    while (!queue.isEmpty()) {

        LevelNode levelNode = queue.poll();
        List<Integer> nodeList = null;
        if (levelNode.level == lists.size()) {
            nodeList = new ArrayList<>();
            lists.add(nodeList);
        }else {
            nodeList = lists.get(levelNode.level);
        }

        if (levelNode.level == lists.size()) {
            reverseFlag = !reverseFlag;
        }

        nodeList.add(levelNode.node.val);




        if (reverseFlag) {

            if (levelNode.node.right != null) {
                queue.add(new LevelNode(levelNode.node.right,levelNode.level+1));
            }

            if (levelNode.node.left != null) {
                queue.add(new LevelNode(levelNode.node.left,levelNode.level+1));
            }
        }else {
            if (levelNode.node.left != null) {
                queue.add(new LevelNode(levelNode.node.left,levelNode.level+1));
            }

            if (levelNode.node.right != null) {
                queue.add(new LevelNode(levelNode.node.right,levelNode.level+1));
            }
        }

    }
    return lists;
}

Binary Tree Level Order Traversal II

 /**
 * 107. Binary Tree Level Order Traversal II

public List<List<Integer>> levelOrderBottom(TreeNode root) {

    List<List<Integer>> lists = new ArrayList<>();

    if (root == null) {
        return lists;
    }

    Queue<LevelNode> queue = new ArrayDeque<>();
    queue.add(new LevelNode(root,0));
    while (!queue.isEmpty()) {

        LevelNode levelNode = queue.poll();
        List<Integer> nodeList = null;
        if (levelNode.level == lists.size()) {
            nodeList = new ArrayList<>();
            //将每一层放到数组的首个位置
            lists.add(0,nodeList);
        }else {
            //取出首个位置层的对应节点
            nodeList = lists.get(0);
        }
        nodeList.add(levelNode.node.val);
        if (levelNode.node.left != null) {
            queue.add(new LevelNode(levelNode.node.left,levelNode.level+1));
        }

        if (levelNode.node.right != null) {
            queue.add(new LevelNode(levelNode.node.right,levelNode.level+1));
        }
    }
    return lists;
}

利用队列实现层序遍历二叉树

 /**
 * 102. Binary Tree Level Order Traversal
 * 利用队列实现层序遍历二叉树
 * 思路:
 * 1.将根节点入队列
 * 2.如果队列非空,执行以下步骤:
 *   a.出队列取得队列的节点,访问该节点
 *   b.如果左子树非空,将左子树入队列
 *   c.如果右子树非空,将右子树入队列
 * 3.执行完成
 */
public List<List<Integer>> levelOrder(TreeNode root) {

    List<List<Integer>> lists = new ArrayList<>();

    if (root == null) {
        return lists;
    }

    Queue<LevelNode> queue = new ArrayDeque<>();
    queue.add(new LevelNode(root,0));
    while (!queue.isEmpty()) {

        LevelNode levelNode = queue.poll();
        List<Integer> nodeList = null;
        if (levelNode.level == lists.size()) {
           nodeList = new ArrayList<>();
            lists.add(nodeList);
        }else {
            nodeList = lists.get(levelNode.level);
        }
        nodeList.add(levelNode.node.val);
        if (levelNode.node.left != null) {
            queue.add(new LevelNode(levelNode.node.left,levelNode.level+1));
        }

        if (levelNode.node.right != null) {
            queue.add(new LevelNode(levelNode.node.right,levelNode.level+1));
        }
    }
    return lists;
}

public List preorderTraversal1(TreeNode root) {

    List<Integer> res = new ArrayList<>();
    if (root != null) {

        res.add(root.val);
        preorderTraversal1(root.left);
        preorderTraversal1(root.right);
    }
    return res;
}
西门子S7-200 SMART PLC高速计数器与增量式编码器实战配置指南 在工业自动化控制系统中,传感器是将物理量转换为电信号的关键组件,其中编码器作为核心的位置与速度检测元件,其工作原理基于光电或磁电效应,将机械位移转换为脉冲序列。增量式编码器通过输出相位差90度的A/B两相脉冲,不仅能实现精确的位移测量,还能通过相位关系自动判别运动方向,并通过倍频技术提升分辨率。其技术价值在于为PLC等控制器提供了实时、高精度的位置反馈,是实现闭环控制、提升系统精度与可靠性的基础。在包装机械、物料输送、绕线设备等应用场景中,编码器与PLC高速计数器的协同工作是实现精确定位、定长切割与速度控制 阅读详情

相关推荐

实测338MB/s!FPGA与CYUSB3014的Slave FIFO模式实战避坑(附完整固件与源码)

本文详细介绍了FPGA与CYUSB3014在Slave FIFO模式下实现338MB/s高速数据传输的实战经验。通过优化硬件设计、固件配置和GPIF II接口设置,解决了USB3.0双向通信中的关键性能瓶颈,并提供了完整的固件与源码参考。

weixin_30570101的博客 458

[LeetCode力扣hot100]-二叉树相关手撕题

就说左子树-根-右子树顺序,之前也有二叉树相关的文章,基本上递归为主,这里用栈等方式实现下。注意上面给出节点的基本结构,如左右,val指等即可,

m0_62237233的博客 522

E2000 RGMII0通讯异常问题总结

飞腾E2000 RGMII接YT8521,RGMII0路不通问题。

乌拉大喵喵 1628

瑞_力扣LeetCode_二叉树相关题

本文章为瑞_系列专栏之《刷题》的力扣LeetCode系列,主要以力扣LeetCode网的题进行解析与分享。本文主要是配合《瑞_数据结构与算法_二叉树》对二叉树的知识进行提升和拓展

阿瑞——从事Java后端,喜欢研读源码、自研框架、分享经验 1378

Labview调用C++ dll之字符串数组传递

做项目的时候碰到了一个需求,有一个复杂的运算,用labview实现非常的麻烦,但是如果用C++实现,就会灵活很多。尝试着采用Labview调用C++编写的动态链接库方式解决,兼顾Labview的便利和C++的灵活性。 运算好说,主要难点是Labview与C++之间的数据对应关系,因为我最后的结果是既有字符串又有数字,对于单纯的数字来说,直接通过调用数组的方式就能解决,这里主要记录一下字符串数组...

bgbgx的博客 6807

国债期货的日线趋势跟踪策略实现(基于backtrader框架)

通过backtrader框架,我们可以轻松地实现国债期货的日线趋势跟踪策略,并进行回测和验证。通过这种策略,我们可以尝试捕捉国债期货价格的短期趋势,并根据趋势的方向进行交易决策。backtrader提供了许多内置的指标、订单类型和其他功能,可以帮助你进一步优化和改进你的策略。它提供了丰富的工具和功能,使我们能够快速实现和验证我们的交易想法。方法中,我们根据当前价格和前一天的价格判断趋势的方向,并根据趋势的变化进行买入或卖出操作。然后,我们设置了初始资金和交易手续费,并将我们定义的策略。来跟踪每日的收盘价。

NisyPhilosophy的博客 404

Python 二叉树相关术语及力扣真题操练

Binarytree 是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个节点最多只能有两棵子树,且有左右之分。二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个节点。

汉阳Hann's Home 1514

机器学习实战4-教育领域:学生成绩的可视化分析与成绩预测-详细分析

大家好,我是微学AI,今天给大家带来机器学习实战4-学生成绩的可视化分析与成绩预测,机器学习在教育中的应用具有很大的潜力,特别是在学生成绩的可视化分析与成绩预测方面。机器学习可以通过对学生的父母教育情况和学校表现等数据进行分析和挖掘,从而揭示潜在的学习模式和趋势。

微学AI的博客 7677

数据结构:二叉树相关力扣oj算法详解

对任何⼀棵⼆叉树,如果叶结点个数为n0 ,度为 2的分⽀结点个数为n2 ,则n0=n2+1。

2403_87691282的博客 1000

Python爬虫:抓取外卖平台餐厅菜单、价格与评价数据

美团外卖:国内领先的外卖平台之一,提供餐饮外卖、超市配送等服务。饿了么:另一大主流外卖平台,覆盖广泛的餐饮品类。等:国际性的外卖平台。在本文中,我们将以美团外卖为例,展示如何抓取餐厅的菜单、价格和评价等数据。我们会使用Python的爬虫库,如Scrapy和Selenium,来解决抓取任务。本文详细介绍了如何使用Python爬虫抓取外卖平台上的餐厅菜单、价格、评价等信息。我们展示了如何使用Scrapy和Selenium抓取静态与动态网页数据,如何清洗和存储数据,并讨论了如何应对外卖平台的反爬虫机制。

2201_76125261的博客 1498

人像抠图 + OpenGL ES 还能这样玩?没想到吧(附带源码)

OpenGL ES 利用抠图算法实现人像留色。

字节流动 3万+

[LeetCode] 二叉树相关题目(不完全)

最近在做LeetCode上面有关二叉树的题目,这篇博客仅用来记录这些题目的代码。 二叉树的题目,一般都是利用递归来解决的,因此这一类题目对理解递归很有帮助。 1.Symmetric Tree(https://leetcode.com/problems/symmetric-tree/description/) class Solution { public: b...

aixian8156的博客 182

Swin Transformer 与 CNN 结合实现图像分类

Swin Transformer 与 CNN 结合实现图像分类。(含swin transformer 结构讲解,cnn网络搭建,代码)

这里是Mae。 5026

python算法:leetcode二叉树相关算法题

但是这个题有一个坑,比如根节点下面只有左子树或者右子树的情况下,题目说的是根节点到叶子节点,而叶子节点的定义是没有左右子节点,如果我们对这种情况取最小的化一定是None的那个最小,但是它有另外一个节点,它不是叶子节点,所以我们要将这种情况单独考判断下。因为我们的递归思路是根节点的最大深度变成求左右节点的最大深度+1,因为叶子节点没有左右子树了下面为None,不存在节点,也就是没有深度了,所以这里应该返回0,也就是递归返回条件。3.递归比较:左子树的左 vs 右子树的右,左子树的右 vs 右子树的左。

m0_73426548的博客 1276

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

leetcode 二叉树相关题目

leetcode 二叉树进阶

apigthatcanfly的博客 194

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

[LeetCode] 二叉树相关题目

94. 二叉树的中序遍历 class Solution { public: vector<int> inorderTraversal(TreeNode* root) { vector<int> nodes; inorder(root, nodes); return nodes; } private: // 递归的方法 void inorder(TreeNode* root, vector<int

WchStrife的博客 163

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

力扣 二叉树 相关题目总结1

力扣 二叉树 相关题目总结1

水w的博客 1596

二叉树相关力扣题目

二叉树的中序遍历 给定一个二叉树的根节点 root ,返回它的 中序 遍历。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 示例 4: 输入:root = [1,2] 输出:[2,1] 示例 5: 输入:root = [1,null,2] 输出:[1,2] 提示: 树中节点数目在范围 [0, 100] 内 -100 <= Node.val <= 100

破浪会有时的博客 274

leetcode二叉树相关题目复习(C语言版)

判断根节点、左节点与右节点的值是否相等,因为正向判断(即判断三值相等返回true)比较麻烦(不能根节点满足条件直接返回true,还需进行左右子树的判断),因此可以通过正难则反的思想,判断哪些情况不是单值二叉树。判断对称的办法:和判断相同类似,唯一的区别在于递归调用时,左子树和右子树进行比较,右子树和左子树进行比较(这边的左右子树指的是a、b子树的根节点后面所连接的左右子树)当左右子树的根节点相等时,可以通过判断以改根节点为子树的与subRoot是否相等,来判断在整棵树中是否存在subRoot一样的树。

2302_80297338的博客 1014

【LeetCode】﹝原地算法ி﹞数组、链表、二叉树相关题目

【LeetCode】﹝原地算法ி﹞数组、链表、二叉树相关题目 文章目录【LeetCode】﹝原地算法ி﹞数组、链表、二叉树相关题目奇偶链表★★矩阵置零★★删除有序数组中的重复项II★★二叉树展开为链表★★ 奇偶链表★★ 328. 奇偶链表 【题目】给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。 说明:

像写诗一样优雅地写代码~ 6795

leetcode—19.二叉树遍历相关题目leetcode总结

文章目录引言一、深度优先遍历144. 二叉树的前序遍历94. 二叉树的中序遍历145. 二叉树的后序遍历二、广度优先遍历102. 二叉树的层序遍历103. 二叉树的锯齿形层序遍历 引言   二叉树遍历即将二叉树按照某种顺序访问一遍,涉及深度优先遍历与广度优先遍历。深度优先遍历可分为前序遍历、中序遍历、后序遍历。广度优先遍历包括层次遍历,层序遍历可分为自顶向下层序遍历,自底向上层序遍历,锯齿层序遍历。 一、深度优先遍历   一般都有递归与迭代思路,区别在于递归的时候隐式地维护了一个栈,而我们在迭代的时候需要显

柳杰的博客 497

[LeetCode]链式二叉树相关题目(c语言实现)

文章解析了链式二叉树相关简单题目

想学好c++的oMen的博客 849

Leetcode二叉树相关习题

100.相同的树 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; ...

qq_43185543的博客 279

力扣 二叉树 相关题目总结2

力扣 二叉树 相关题目总结2

水w的博客 1207

力扣 二叉树 相关题目总结3

力扣 二叉树 相关题目总结3

水w的博客 865

[leetcode] 二叉树相关题目

中序遍历二叉树 递归做法 void inorderTraversalBase(TreeNode* root, vector<int>& res){ if(root == NULL) return; inorderTraversalBase(root->left, res); res.push_back(root->val...

nwpuxhld 281
上一篇: leetcode 二分搜索树
下一篇: leetcode 二叉树遍历
永远的红姐
博客等级 码龄12年 16粉丝 148原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值