当前位置: 首页 > news >正文

Day43 | 129. 求根节点到叶节点数字之和、1382. 将二叉搜索树变平衡、100. 相同的树

129. 求根节点到叶节点数字之和

题目链接:129. 求根节点到叶节点数字之和 - 力扣(LeetCode)

题目难度:中等

代码:

class Solution {
    List<Integer> path=new ArrayList<>();
    int res=0;
    public int sumNumbers(TreeNode root) {
        if(root==null) return 0;
        path.add(root.val);
        recur(root);
        return res;
    }
    public void recur(TreeNode root){
        if(root.left==null&&root.right==null){
            res+=listToInt(path);
            return;
        }
        if(root.left!=null){
            path.add(root.left.val);
            recur(root.left);
            path.remove(path.size()-1);
        }
        if(root.right!=null){
            path.add(root.right.val);
            recur(root.right);
            path.remove(path.size()-1);
        }
        return;
    }
    public int listToInt(List<Integer> path){
        int sum=0;
        for(Integer num:path){
            sum=sum*10+num;
        }
        return sum;
    }
}

1382. 将二叉搜索树变平衡

题目链接:1382. 将二叉搜索树变平衡 - 力扣(LeetCode)

题目难度:中等

代码:

class Solution {
    ArrayList<Integer> res=new ArrayList<>();
    private void travesal(TreeNode cur){
        if(cur==null) return;
        travesal(cur.left);
        res.add(cur.val);
        travesal(cur.right);
    }
    private TreeNode getTree(ArrayList<Integer> nums,int left,int right){
        if(left>right) return null;
        int mid=left+(right-left)/2;
        TreeNode root=new TreeNode(nums.get(mid));
        root.left=getTree(nums,left,mid-1);
        root.right=getTree(nums,mid+1,right);
        return root;
    }
    public TreeNode balanceBST(TreeNode root) {
        travesal(root);
        return getTree(res,0,res.size()-1);
    }
}

100. 相同的树

题目链接:100. 相同的树 - 力扣(LeetCode)

题目难度:简单

代码:

class Solution {
    public boolean isSameTree(TreeNode p, TreeNode q) {
        if (p == null && q == null) return true;
        else if (q == null || p == null) return false;
        else if (q.val != p.val) return false;
        return isSameTree(q.left, p.left) && isSameTree(q.right, p.right);
    }
}

 

http://www.dtcms.com/a/98102.html

相关文章:

  • 循相似之迹:解锁协同过滤的核心推荐逻辑
  • OpenBMC:BmcWeb 生效路由4 将路由添加到Trie中
  • Spring Boot事务管理详解(附银行转账案例)
  • 如何缩短研发周期,降低研发成本?全星APQP软件为您提供解决方案
  • 【Goalng】第九弹-----文件操作、JSON处理
  • 杂草YOLO数据集分享
  • 【AI插件开发】Notepad++插件开发实践:从基础交互到ScintillaCall集成
  • 第十五章:Python的Pandas库详解及常见用法
  • 【云原生】docker 搭建单机PostgreSQL操作详解
  • Pod 网络与 CNI 的作用
  • 结构化分析方法 数据流图详解
  • 每日一题-力扣-2360. 图中的最长环 0329
  • Java 大视界 -- 基于 Java 的大数据分布式计算在基因测序数据分析中的性能优化(161)
  • 力扣刷题1049. 最后一块石头的重量 II
  • Swiss Dock:免费的在线分子对接工具(支持两种对接算法切换)
  • 信号与系统(郑君里)第一章-绪论 1-23 课后习题解答
  • 基于Java与Go的下一代DDoS防御体系构建实战
  • 图像数据增强教程:为目标检测任务准备数据
  • 基于RFID技术建筑物资材料智能管理解决方案
  • 迭代器与可迭代对象
  • 《汽车理论》第三章作业
  • 电脑ip地址每次开机会换吗?全面解析
  • 蓝桥杯 之 图论基础+并查集
  • 什么是openAPI
  • IDEA如何设置以新窗口打开新项目
  • 基于RK3588的YOLO多线程推理多级硬件加速引擎框架设计(项目总览和加速效果)
  • css属性列举
  • C++ 仿函数详解:让对象像函数一样调用
  • 15届蓝桥JavaB组 前6道题解
  • React(七):Redux