leetcode 101. 对称二叉树 递归解法
题目
思路
一开始想要层序遍历二叉树,然后判断每一层是否回文,写着写着发现这样太麻烦了,看了评论区别人的递归解法,才写出来的。
二叉树的四种遍历方法:
https://www.cnblogs.com/du001011/p/11229170.html
二叉树的层序遍历
public class TreeNode {public int data;public TreeNode leftChild;public TreeNode rightChild;public TreeNode(int data){this.data = data;}
}public static void levelOrder(TreeNode root){LinkedList<TreeNode> queue = new LinkedList<>();queue.add(root);while(!queue.isEmpty()){root = queue.pop();System.out.print(root.data+" ");if(root.leftChild!=null) queue.add(root.leftChild);if(root.rightChild!=null) queue.add(root.rightChild);}
}
题解(递归解法)
// Definition for a binary tree node.
class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int x) {val = x;}@Overridepublic String toString() {return "" + val;}
}class Solution {// 测试用例// 1// / \// 2 2// / \ / \// 3 4 4 3public static void main(String[] args) {Solution solution = new Solution();TreeNode n1 = new TreeNode(1);TreeNode n21 = new TreeNode(2);TreeNode n22 = new TreeNode(2);TreeNode n31 = new TreeNode(3);TreeNode n32 = new TreeNode(4);TreeNode n33 = new TreeNode(4);TreeNode n34 = new TreeNode(3);n1.left = n21;n1.right = n22;n21.left = n31;n21.right = n32;n22.left = n33;n22.right = n34;boolean res = solution.isSymmetric(n1);System.out.println(res);}public boolean isSymmetric(TreeNode root) {if (root == null) {return true;} else {return is(root.left, root.right);}}private boolean is(TreeNode n1, TreeNode n2) {if (n1 == null || n2 == null) {return n1 == n2;} else {return n1.val == n2.val && is(n1.left, n2.right) && is(n1.right, n2.left);}}
}
leetcode 101. 对称二叉树 递归解法相关推荐
- leetcode 101. 对称二叉树 递归解法 c语言
如题: 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的.1/ \2 2/ \ / \ 3 4 4 3但是下面这个 [1,2,2,null,3,null ...
- [leetcode] 101. 对称二叉树
101. 对称二叉树 一开始想复杂了呀,没有做出来 直观的思路就是反转这颗树,然后判断两颗树是不是相同的 class Solution {// 反转并创建一颗树public TreeNode reve ...
- LeetCode 101. 对称二叉树(递归循环)
1. 题目 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的.1/ \2 2/ \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,n ...
- LeetCode 101. 对称二叉树 思考分析
题目 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1 / 2 2 / \ / 3 4 4 3 但是下面这个 [1,2,2,null,3,null ...
- LeetCode 101 对称二叉树的几种思路(Python实现)
对称二叉树 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1 / \ 2 2 / \ / \3 4 4 3 但是下面这个 [1,2,2,null, ...
- LeetCode 101对称二叉树
力扣对称二叉树 思路: 1.递归 当根节点的左子树和右子树对称时,二叉树对称 根节点的左子树和右子树对称: 左子树的左子树和右子树的右子树相等 左子树的右子树和右子树的左子树相等 递归出口 (1)根节 ...
- leetcode - 101. 对称二叉树
给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3][1,2,2,3,4,4,3][1,2,2,3,4,4,3] 是对称的. 但是下面这个 [1,2,2,null,3 ...
- Leetcode 101.对称二叉树 (每日一题 20210709)
给定一个二叉树,检查它是否是镜像对称的.例如,二叉树 [1,2,2,3,4,4,3] 是对称的.1/ \2 2/ \ / \ 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则 ...
- Leetcode 101.对称二叉树
Time: 20190901 题目描述 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1/ \2 2/ \ / \ 3 4 4 3 但是下面这个 ...
最新文章
- 如何创建计算机视觉场景训练数据
- 机器学习本该用起来更简单
- 深入显出谈Java的发展历程及语言特点
- android向h5传递参数,H5与安卓传递多个参数
- 我是个初二学生,想考一中,现在该怎么努力?
- mysql索引数据结构图解_干货:mysql索引的数据结构
- 【LeetCode 231】Power of Two
- lfm雷达信号处理matlab,雷达信号处理-线性调频(LFM)Chirp信号脉冲压缩
- 华泰证券 python 自动交易软件_机智股票自动交易软件
- Python菜鸟编程第十四课之正则表达式
- AI近义词替换工具.v.1.2
- hdu 6184 Counting Stars(三元环计数)
- BigDATA面试题
- Photoshop使用背景图层的方法
- 浙江江西公费出国游黑幕调查
- dll修复精灵无法链接服务器,教你一键dll修复精灵怎么使用
- 购买Blender cloud支援今年官方开源电影Gooseberry
- 你会算对象的大小么?不会的话就看看这篇文章吧
- CcTalk (网络协议)(转)
- 关于二维码方面的测试点梳理
热门文章
- CodeForces - 1287B Hyperset(暴力水题)
- oracle ora-01001,ORA-01001 and ORACLE游标
- android 水平方向瀑布流,Android RecyclerView(瀑布流)水平/垂直方向分割线
- CrashFinder,找到崩溃代码行
- C++中的mutable关键字
- mupdf-android-viewer 设计与实现浅析
- SurfaceTexture
- MySQL(七)关于MySQL不同版本下临键锁锁定范围不同
- 赏析 Singleflight 设计
- 音视频技术开发周刊:FFmpeg内置的一个无中生有的音视频输入数据 | 214