题解 | #牛群的轴对称结构#
牛群的轴对称结构
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);
}
}
