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

java数据结构与算法(对称二叉树)

前言

为什么学习数据结构和算法?

1.直面大厂的高薪。

2.学习编程的语言。

3.输出优雅的代码和高性能的程序。

每日练习2题,希望大家都能收获高薪offer,实现自由跳槽。

实现原理

主要判断二叉树的以中间线为轴,两边的对称的位置节点是否相等。主要采用两个递归实现各节点对称点的值比较。

其中1个递归是根的左节点与根的右节点持续递归到底,比较两个值是否相等。

另一个递归是根的右节点与根的左节点持续递归到底,比较两个值是否相等。

具体代码实现

package test7;import java.util.List;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 {TreeNode root;public boolean isSymmetric(TreeNode root) {return check(root,root);}public boolean check(TreeNode p,TreeNode q){if(p==null&&q==null){return true;}if(p==null||q==null){return false;}return p.val==q.val&&check(p.left,q.right)&&check(p.right,q.left);}public static void main(String[] args) {Solution solution=new Solution();TreeNode treeNode=new TreeNode(1);treeNode.left=new TreeNode(2);treeNode.left.left=new TreeNode(3);treeNode.left.right=new TreeNode(4);treeNode.right=new TreeNode(2);treeNode.right.left=new TreeNode(4);treeNode.right.right=new TreeNode(3);boolean res=solution.isSymmetric(treeNode);System.out.println(res);}
}

QA:待定

http://www.lryc.cn/news/350340.html

相关文章:

  • [原创](Modern C++)现代C++的std::function, 强大的多态函数包装器(包含std::mem_fn使用方式).
  • 解决间歇性 SSLPeerUnverifiedException 问题
  • Linux程序开发(一):Linux基础入门安装和实操手册
  • Java | Leetcode Java题解之第92题反转链表II
  • 声纹识别在无人机探测上的应用
  • 【数据结构】时间、空间复杂度实例分析
  • 2024生日快乐祝福HTML源码
  • Android系统不同版本存储权限
  • ue引擎游戏开发笔记(41)——行为树的建立(2)--丰富ai行为:巡逻后返回原处
  • Linux quotacheck命令教程:如何检查和修复文件系统的磁盘配额(附案例详解和注意事项)
  • Response对象的学习
  • QCustomplot---动态图
  • 蛋白聚乙二醇化修饰检测试剂盒
  • [Algorithm][回溯][字母大小写全排列][优美的排列][N皇后]详细讲解
  • .NET_NLog
  • Linux查看进程命令ps和top
  • 深入解析Wireshark1:从捕获到分析,一网打尽数据包之旅
  • C++语法|指向类成员(成员变量和成员方法)的指针及其相关应用场景
  • 【C语言】通讯录系统实现
  • (delphi11最新学习资料) Object Pascal 学习笔记---第12章第1节 ( 类静态方法与Windows API回调)
  • 第一个Rust程序
  • 【LInux】<基础IO> 文件操作 | 文件描述符 | 重定向
  • MySQL--增、删、改、查,
  • 5.12学习总结
  • ansible利用playbook 部署lamp架构
  • SPI通信(使用SPI读写W25Q64)
  • <sa8650>QCX Usecase 使用详解—拓扑图 XML 定义
  • 使用C++11实现Golang的defer功能
  • 前端之电力系统SVG图低代码
  • 括号生成[中等]