题目

思路

一开始想要层序遍历二叉树,然后判断每一层是否回文,写着写着发现这样太麻烦了,看了评论区别人的递归解法,才写出来的。

二叉树的四种遍历方法:
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. 对称二叉树 递归解法相关推荐

  1. leetcode 101. 对称二叉树 递归解法 c语言

    如题: 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的.1/ \2 2/ \ / \ 3 4 4 3但是下面这个 [1,2,2,null,3,null ...

  2. [leetcode] 101. 对称二叉树

    101. 对称二叉树 一开始想复杂了呀,没有做出来 直观的思路就是反转这颗树,然后判断两颗树是不是相同的 class Solution {// 反转并创建一颗树public TreeNode reve ...

  3. LeetCode 101. 对称二叉树(递归循环)

    1. 题目 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的.1/ \2 2/ \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,n ...

  4. LeetCode 101. 对称二叉树 思考分析

    题目 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1 / 2 2 / \ / 3 4 4 3 但是下面这个 [1,2,2,null,3,null ...

  5. LeetCode 101 对称二叉树的几种思路(Python实现)

    对称二叉树 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1 / \ 2 2 / \ / \3 4 4 3 但是下面这个 [1,2,2,null, ...

  6. LeetCode 101对称二叉树

    力扣对称二叉树 思路: 1.递归 当根节点的左子树和右子树对称时,二叉树对称 根节点的左子树和右子树对称: 左子树的左子树和右子树的右子树相等 左子树的右子树和右子树的左子树相等 递归出口 (1)根节 ...

  7. 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 ...

  8. Leetcode 101.对称二叉树 (每日一题 20210709)

    给定一个二叉树,检查它是否是镜像对称的.例如,二叉树 [1,2,2,3,4,4,3] 是对称的.1/ \2 2/ \ / \ 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则 ...

  9. Leetcode 101.对称二叉树

    Time: 20190901 题目描述 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1/ \2 2/ \ / \ 3 4 4 3 但是下面这个 ...

最新文章

  1. 如何创建计算机视觉场景训练数据
  2. 机器学习本该用起来更简单
  3. 深入显出谈Java的发展历程及语言特点
  4. android向h5传递参数,H5与安卓传递多个参数
  5. 我是个初二学生,想考一中,现在该怎么努力?
  6. mysql索引数据结构图解_干货:mysql索引的数据结构
  7. 【LeetCode 231】Power of Two
  8. lfm雷达信号处理matlab,雷达信号处理-线性调频(LFM)Chirp信号脉冲压缩
  9. 华泰证券 python 自动交易软件_机智股票自动交易软件
  10. Python菜鸟编程第十四课之正则表达式
  11. AI近义词替换工具.v.1.2
  12. hdu 6184 Counting Stars(三元环计数)
  13. BigDATA面试题
  14. Photoshop使用背景图层的方法
  15. 浙江江西公费出国游黑幕调查
  16. dll修复精灵无法链接服务器,教你一键dll修复精灵怎么使用
  17. 购买Blender cloud支援今年官方开源电影Gooseberry
  18. 你会算对象的大小么?不会的话就看看这篇文章吧
  19. CcTalk (网络协议)(转)
  20. 关于二维码方面的测试点梳理

热门文章

  1. CodeForces - 1287B Hyperset(暴力水题)
  2. oracle ora-01001,ORA-01001 and ORACLE游标
  3. android 水平方向瀑布流,Android RecyclerView(瀑布流)水平/垂直方向分割线
  4. CrashFinder,找到崩溃代码行
  5. C++中的mutable关键字
  6. mupdf-android-viewer 设计与实现浅析
  7. SurfaceTexture
  8. MySQL(七)关于MySQL不同版本下临键锁锁定范围不同
  9. 赏析 Singleflight 设计
  10. 音视频技术开发周刊:FFmpeg内置的一个无中生有的音视频输入数据 | 214