java代码实现创建一棵二叉链表表示的二叉树中,实现判断两颗二叉树是否相等
时间: 2023-12-01 17:19:35 浏览: 107
leetcode
首先,我们需要定义二叉树节点的类:
```java
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
```
接下来,我们可以使用递归的方式判断两个二叉树是否相等。具体实现如下:
```java
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 false;
}
return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
}
}
```
以上代码中,我们先判断两个节点是否都为空,如果是,则返回 true。如果只有一个节点为空,则返回 false。接下来,我们再递归判断左子树和右子树是否相等。如果左右子树均相等,则返回 true,否则返回 false。
在使用上述代码时,我们可以先分别遍历两个二叉树,将它们构建成二叉链表表示的二叉树,然后再调用 isSameTree 方法判断它们是否相等即可。
阅读全文