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

<03.05>Leetcode2

左 根 右 

 

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public List<Integer> inorderTraversal(TreeNode root) {
        List<Integer> res = new ArrayList<Integer>();
        inorder(root,res);
        return res;
    }
    public void inorder(TreeNode root,List<Integer>res){
        if(root == null)return ;
        inorder(root.left,res);//左
        res.add(root.val);//根
        inorder(root.right,res);//右
    }
}

 

 

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public int maxDepth(TreeNode root) {
        if(root == null)return 0;//终止条件
        else {
            int left = maxDepth(root.left);
            int right = maxDepth(root.right);
            return Math.max(left,right) + 1;
        }
    }
}

 

226. 翻转二叉树 - 力扣(LeetCode) 

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public TreeNode invertTree(TreeNode root) {
        if(root == null)return null;//递归结束的条件
        TreeNode temp = root.left;//存下左节点
        root.left = invertTree(root.right);//递归遍历右节点
        root.right = invertTree(temp);//递归更新右节点为左节点
        return root;

    }
}

 

 

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public boolean isSymmetric(TreeNode root){
        return root == null || recur(root.left,root.right);
    }
    public boolean recur(TreeNode L, TreeNode R) {
        if(L == null && R == null)return true;
        if (L == null || R == null || L.val != R.val) return false;
        //要使用L.val和R.val的前提条件是不为null 不能直接L.val == R.val return..
        return recur(L.left, R.right) && recur(L.right, R.left);
    }
}

 

 

 

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

相关文章:

  • 如何为亚马逊季节性产品搭建高效的推广流程?
  • 解决新建小程序页面文字顶在顶部问题
  • CyberDefenders----DanaBot Lab
  • 【Java学习】String类变量
  • 电力设备基础概念解析
  • threejs:用着色器给模型添加光带扫描效果
  • 如何下载安装 PyCharm?
  • Libgdx游戏开发系列教程(5)——碰撞反弹的简单实践
  • 本地部署pangolin获取谱系,从而达到预测新冠的流行趋势
  • NetBeans 8.2 开发 CIFLog3.5 - 创建WelcomeDemo
  • 第十二届蓝桥杯大学A组java省赛答案整理
  • 突破传统:用Polars解锁ICU医疗数据分析新范式
  • Linux的一些配置(网络建设与运维)
  • 数据结构与算法:双指针
  • Unity 文字高度自适应
  • 微信小程序开发 中 “安全区域“
  • 【ubuntu20】--- 搭建 gerrit 最新最详细
  • 代码随想录算法训练营第六天|Leetcode454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和
  • 【编程实践】pymeshlab的meshing_close_holes参数设置
  • 达梦数据库系列之Mysql项目迁移为达梦项目
  • 代码随想录算法训练营 | 图论 | 孤岛总面积、沉没孤岛
  • GPTs+RPA赋能智慧校园:构建下一代教育智能体的技术实践
  • RK3588开发笔记-fiq_debugger: cpu 0 not responding, reverting to cpu 3问题解决
  • Dify 开源大语言模型应用开发平台使用(二)
  • 软考高项笔记 1.1.1 信息
  • Raven: 2靶场渗透测试
  • ​Unity插件-Mirror使用方法(八)组件介绍(​Network Behaviour)
  • 【Linux】http 协议
  • 3427. 变长子数组求和
  • 【YOLO V5】目标检测 WSL2 AutoDL VScode SSH