一、知识点:
遍历、递归、二叉树
二、文字分析:
递归的方法来遍历两个二叉树的节点,并进行比较。具体来说,对于每一对节点,我们首先判断它们的值是否相同。如果相同,我们继续递归地判断它们的左子树和右子树是否相同。如果不相同,或者有一个节点为 null 而另一个节点不为 null,则两个牛群的结构不相同。
三、编程语言:
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 { public boolean isSameTree(TreeNode p, TreeNode q) { // 如果两个节点都为空,则认为它们是相同的 if (p == null && q == null) { return true; } // 如果只有一个节点为空,则认为它们不相同 if (p == null || q == null) { return false; } // 判断当前节点的值是否相同,并递归地判断左子树和右子树是否相同 if (p.val == q.val) { return isSameTree(p.left, q.left) && isSameTree(p.right, q.right); } else { return false; } } }