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

Java实现Leetcode题(二叉树-2)

Leetcode226(翻转二叉树)

package tree;import java.util.Deque;
import java.util.LinkedList;public class LeetCode226 {public static void main(String[] args) {System.out.print("待定");}//递归public static void invertTree(TreeNode root) {if(root==null) {return;}swap(root);invertTree(root.left);invertTree(root.right);}public static void swap(TreeNode root) {TreeNode temp = root.right;root.right = root.left;root.left = temp;}//迭代public static void invertTree02(TreeNode root) {Deque<TreeNode> de = new LinkedList<>();if(root ==null) {return;}de.addFirst(root);while(!de.isEmpty()) {TreeNode temp = de.peekFirst();swap(temp);de.pollFirst();de.addFirst(temp.right);de.addFirst(temp.left);}}
}

Leetcode101(对称二叉树)

class Solution {public boolean isSymmetric(TreeNode root) {return compare(root.left,root.right);}public static boolean compare(TreeNode left,TreeNode right) {if(left==null&&right!=null)return false;else if(right==null&&left!=null)return false;else if(right==null&&left==null)return true;else if(left.val!=right.val)return false;boolean outsize = compare(left.left,right.right);boolean insize = compare(left.right,right.left);return outsize&&insize;}//迭代法public boolean isSymmetric(TreeNode root) {if(root==null) {return true;}Deque<TreeNode> de = new LinkedList<>();de.addLast(root.left);de.addLast(root.right);while(!de.isEmpty()) {TreeNode left = de.peekFirst();de.pollFirst();TreeNode right = de.peekFirst();de.pollFirst();if(left==null&&right==null) {continue;}if(left==null||right==null||(left.val!=right.val)) {return false;}de.addLast(left.left);de.addLast(right.right);de.addLast(left.right);de.addLast(right.left);}return true;}}

 

 

相关文章:

  • 阶段十-分布式-nginx服务器
  • 【C#与Redis】--高级主题--Redis 哨兵
  • 【全局光照GI系统剖析_Enlighten和Progressive Lightmapper_案例分享(附带场景下载链接)_场景】
  • wy的leetcode刷题记录_Day70
  • 配置ssh免密登录
  • Vue学习计划-Vue3--核心语法(一)OptionsAPI、CompositionAPI与setup
  • go 使用 - sync.Metux
  • 计算机网络【Cookie和session机制】
  • 计算机软件考试试题——附答案
  • 使用Vite创建React + TypeScript(node版本为16.17.0,含资源下载)
  • 再见2023,你好2024!
  • Javascript 正则表达式零宽断言
  • 【算法】哈希算法和哈希表
  • git unable to create temporary file: No space left on device(git报错)
  • 文件内容搜索利器 - grep
  • 《Java编程思想》读书笔记-对象导论
  • 【剑指offer】让抽象问题具体化
  • angular2 简述
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • js 实现textarea输入字数提示
  • k8s 面向应用开发者的基础命令
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • quasar-framework cnodejs社区
  • Spring Cloud Feign的两种使用姿势
  • Transformer-XL: Unleashing the Potential of Attention Models
  • TypeScript实现数据结构(一)栈,队列,链表
  • 从PHP迁移至Golang - 基础篇
  • 关于for循环的简单归纳
  • 检测对象或数组
  • 如何合理的规划jvm性能调优
  • 如何解决微信端直接跳WAP端
  • 如何进阶一名有竞争力的程序员?
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 手写双向链表LinkedList的几个常用功能
  • 王永庆:技术创新改变教育未来
  • 责任链模式的两种实现
  • 进程与线程(三)——进程/线程间通信
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • # .NET Framework中使用命名管道进行进程间通信
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #100天计划# 2013年9月29日
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (2)Java 简介
  • (3)STL算法之搜索
  • (LeetCode C++)盛最多水的容器
  • (libusb) usb口自动刷新
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转载)Linux 多线程条件变量同步
  • *** 2003
  • .NET大文件上传知识整理
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc