Update 二叉树相关.md

master
Omooo 4 years ago
parent b9c7f9692f
commit fd249932b0
  1. 59
      blogs/Algorithm/剑指 Offer/二叉树相关.md

@ -425,3 +425,62 @@ public class Codec {
} }
``` ```
#### [28. 对称的二叉树](https://leetcode-cn.com/problems/dui-cheng-de-er-cha-shu-lcof/)
```java
class Solution {
public boolean isSymmetric(TreeNode root) {
if (root == null) {
return true;
}
return helper(root.left, root.right);
}
private boolean helper(TreeNode root1, TreeNode root2) {
if (root1 == null && root2 == null) {
return true;
}
if (root1 == null || root2 == null) {
return false;
}
if (root1.val != root2.val) {
return false;
}
return helper(root1.left, root2.right) && helper(root1.right, root2.left);
}
}
```
```java
class Solution {
public boolean isSymmetric(TreeNode root) {
if (root == null) {
return true;
}
Deque<TreeNode> queue = new LinkedList<>();
queue.addFirst(root.left);
queue.addLast(root.right);
while (!queue.isEmpty()) {
TreeNode first = queue.removeFirst();
TreeNode last = queue.removeLast();
if (first == null && last == null) {
continue;
}
if (first == null || last == null) {
return false;
}
if (first.val != last.val) {
return false;
}
queue.addFirst(first.right);
queue.addFirst(first.left);
queue.addLast(last.left);
queue.addLast(last.right);
}
return true;
}
}
```

Loading…
Cancel
Save