写一段java代码验证对称二叉树
时间: 2023-11-14 20:07:58 浏览: 109
好的,这里是一段简单的Java代码,用于验证对称二叉树:
```java
public boolean isSymmetric(TreeNode root) {
if (root == null) {
return true;
}
return isSymmetricRecursive(root.left, root.right);
}
private boolean isSymmetricRecursive(TreeNode node1, TreeNode node2) {
if (node1 == null && node2 == null) {
return true;
} else if (node1 == null || node2 == null) {
return false;
}
if (node1.val != node2.val) {
return false;
}
return isSymmetricRecursive(node1.left, node2.right) && isSymmetricRecursive(node1.right, node2.left);
}
```
这段代码中,我们首先判断根节点是否为空,如果是,则返回true。然后,我们使用一个递归函数isSymmetricRecursive,判断左右子树是否对称。在递归函数中,我们首先判断两个节点是否都为空,如果是,则返回true。如果其中一个节点为空,则返回false。接下来,判断两个节点的值是否相等,如果不相等,则返回false。最后,递归调用左右子树,判断子树是否对称。如果左右子树都对称,则返回true,否则返回false。
希望这段Java代码能对你有所帮助!
阅读全文