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

力扣labuladong——一刷day47

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、力扣993. 二叉树的堂兄弟节点
  • 二、力扣1315. 祖父节点值为偶数的节点和
  • 三、力扣1448. 统计二叉树中好节点的数目
  • 四、力扣1469. 寻找所有的独生节点


前言


二叉树的递归分为「遍历」和「分解问题」两种思维模式,这道题需要用到「遍历」的思维。

一、力扣993. 二叉树的堂兄弟节点

/*** 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 {int depthX = -1, depthY = -1;boolean flag = true;public boolean isCousins(TreeNode root, int x, int y) {fun(root,1,x,y);if(flag == false){return false;}if(depthX == depthY){return true;}return false;}public void fun(TreeNode root, int depth, int x, int y){if(root == null){return ;}if(root.val == x){depthX = depth;}if(root.val == y){depthY = depth;}if(root.left != null && root.right != null){if((root.left.val == x || root.left.val == y) && (root.right.val == x || root.right.val == y)){flag = false;}}fun(root.left,depth+1,x,y);fun(root.right,depth+1,x,y);}
}

二、力扣1315. 祖父节点值为偶数的节点和

/*** 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 {int sum = 0;public int sumEvenGrandparent(TreeNode root) {fun(root, null, null);return sum;}public void fun(TreeNode root, TreeNode parent, TreeNode grandParent){if(root == null){return;}if(grandParent != null && grandParent.val % 2 == 0){sum += root.val;}fun(root.left, root, parent);fun(root.right, root, parent);}
}

三、力扣1448. 统计二叉树中好节点的数目

/*** 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 {int count = 0;public int goodNodes(TreeNode root) {fun(root,Integer.MIN_VALUE);return count;}public void fun(TreeNode root, int preMax){if(root == null){return;}if(root.val >= preMax){preMax = root.val;count ++;}fun(root.left, preMax);fun(root.right, preMax);}
}

四、力扣1469. 寻找所有的独生节点

/*** 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 {List<Integer> res = new ArrayList<>();public List<Integer> getLonelyNodes(TreeNode root) {fun(root);return res;}public void fun(TreeNode root){if(root == null){return;}if(root.left == null && root.right != null){res.add(root.right.val);}if(root.left != null && root.right == null){res.add(root.left.val);}fun(root.left);fun(root.right);}
}
http://www.lryc.cn/news/247474.html

相关文章:

  • 蓝桥杯-02-python组考点与14届真题
  • 【0240】源码分析PG内核中的关键字列表(SQL keywords)
  • 【Python深度学习第二版】学习笔记之——什么是深度学习
  • ddns-go部署在linux虚拟机
  • LeetCode Hot100 543.二叉树的直径
  • Breadcrumb面包屑(antd-design组件库)简单用法和自定义分隔符
  • Mybatis 源码搭建
  • shell编程系列(5)-函数的定义
  • 鸿蒙应用开发-初见:入门知识、应用模型
  • 通过测试驱动开发(TDD)的方式开发Web项目
  • 技巧-PyCharm中Debug和Run对训练的影响和实验测试
  • 【古月居《ros入门21讲》学习笔记】07_创建工作空间和功能包
  • 第20章多线程
  • 深信服防火墙设置应用控制策略(菜鸟必看)
  • 解锁 ElasticJob 云原生实践的难题
  • 鸿蒙开发已成新趋势
  • 万人拼团团购小程序源码系统+拼团设置+拼团管理 附带完整的搭建教程
  • 软信天成:速看!云端混合数据管理的最佳解决方案
  • GO 集成Prometheus
  • ESP32-Web-Server 实战编程-通过网页控制设备的 GPIO
  • Springboot 中 指定 AspectJ 的织入模式
  • 【.NET全栈】.net的微软API接口与.NET框架源码
  • 【深度学习】基于深度学习的超分辨率图像技术一览
  • Android12强制所有应用跟随gsensor旋转
  • C#常用运算符的优先级
  • 鸿蒙4.0开发笔记之ArkTS语法的基础数据类型[DevEco Studio开发](七)
  • 集成学习的两种常见策略:bagging VS. boosting
  • 居家适老化设计第三十四条---卫生间之照明
  • 如何使用Cloudreve将个人电脑打造为私有云盘并实现远程访问
  • [SaaS] 淘宝AI淘淘秀