当前位置: 首页 > 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);
    }
}

 

 

 

相关文章:

  • 如何为亚马逊季节性产品搭建高效的推广流程?
  • 解决新建小程序页面文字顶在顶部问题
  • 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项目迁移为达梦项目
  • 光明日报:家长孩子共同“息屏”,也要保证高质量陪伴
  • 马上评|“衣服越来越难买”,对市场是一个提醒
  • 王征、解宁元、牛恺任西安市副市长
  • 重庆市委原常委、政法委原书记陆克华被决定逮捕
  • 字母哥动了离开的心思,他和雄鹿队的缘分早就到了头
  • 缺字危机:一本书背后有多少“不存在”的汉字?