剑指 Offer 28. 对称的二叉树
时间:2021-08-23
本文章向大家介绍剑指 Offer 28. 对称的二叉树,主要包括剑指 Offer 28. 对称的二叉树使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题意
如题所示
思路
- 分类讨论
- 1⃣️ 左右子树都为空是对称的
- 2⃣️ 只有左子树或者右子树的时候不是对称的
- 3⃣️ 对称位置上的值要相等,而且它的左孩子和右孩子也要是对称的
- 有了上面的分类讨论,就可以根据这个直接写代码了
Java 代码
class Solution {
public boolean judgeSymmetric(TreeNode r1, TreeNode r2) {
if(r1 == null && r2 == null) return true;
if(r1 == null && r2 != null) return false;
if(r1 != null && r2 == null) return false;
return r1.val == r2.val && judgeSymmetric(r1.left, r2.right) && judgeSymmetric(r1.right, r2.left);
}
public boolean isSymmetric(TreeNode root) {
return judgeSymmetric(root, root);
}
}
Python 代码
class Solution:
def judge(self, root1, root2):
if not root1 and not root2:
return True
if not root1 or not root2:
return False
return root1.val == root2.val and self.judge(root1.left, root2.right) and self.judge(root1.right, root2.left)
def isSymmetric(self, root: TreeNode) -> bool:
return self.judge(root, root)
如有转载,请注明出处QAQ
原文地址:https://www.cnblogs.com/MartinLwx/p/15177444.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- c语言之指向指针的指针
- c语言之利用#if #endif来进行注释或者运行不同的主函数
- c++之对组pair
- c++STL容器之set/multiset容器
- c++STL容器之list容器
- c++STL容器之deque容器
- Web自动化必会「Web基础、元素定位、元素操作、Selenium运行原理、项目实战+框架」
- HTML5 meta viewport参数详解
- 二分查找应该都会,那么二分查找的变体呢?
- TypeScript 实战算法系列(三):实现链表与变相链表
- JavaScript 测试系列实战(一):使用 Jest 和 Enzyme 测试 React 组件
- TypeScript 实战算法系列(二):实现队列与双端队列
- VBA位操作
- VBA编写Ribbon Custom UI编辑器07——写入xml
- Linux下在文件夹所有文件中查找相关内容