题解 | #牛群的轴对称结构#
牛群的轴对称结构
https://www.nowcoder.com/practice/a200535760fb4da3a4568c03c1563689
知识点:二叉树,递归
思路:和NB17题,判断两棵树的叶子结构是否一致,是完全一样的思路,就把这个根节点的左右子树看成两颗树,一个意思;
值得注意的是,之前的叶子结构是否一致只需要递归的时候,两棵树一起左子树,右右子树
但是,这里判断树的对称,因此,递归的时候,两棵树一起,一个找左子树,一个右子树
编程语言:java
如果我的思路启发了你,给个小小关注吧~
我是废江,一个从java跑到内核再准备润回java的打工人,我会持续分享从linux内核到上层java微服务等干货
import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * public TreeNode(int val) { * this.val = val; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return bool布尔型 */ public boolean dfs(TreeNode left, TreeNode right) { //先判断子树的null情况,再判断value的情况 if (left == null && right == null) return true; if (left == null || right == null || left.val != right.val) return false; if (!dfs(left.left, right.right) || !dfs(left.left, right.right)) return false; return true; } public boolean isSymmetric (TreeNode root) { // write code here return dfs(root.left, root.right); } }