From c51ba17dc0baaf381d3bc5d9c72ff043060e27a0 Mon Sep 17 00:00:00 2001 From: Nezuko-Wen <409053122@qq.com> Date: Sat, 5 Dec 2020 17:36:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E7=A7=B0=E7=9A=84=E4=BA=8C=E5=8F=89?= =?UTF-8?q?=E6=A0=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/offer/Question28.java | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/offer/Question28.java diff --git a/src/offer/Question28.java b/src/offer/Question28.java new file mode 100644 index 0000000..f6461b2 --- /dev/null +++ b/src/offer/Question28.java @@ -0,0 +1,34 @@ +package offer; + +import leecode.tree.TreeNode; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.Stack; + +/** + * 对称的二叉树 + */ +public class Question28 { + public boolean isSymmetry(TreeNode node) { + TreeNode lHead = new TreeNode(0); + lHead.left = node; + TreeNode rHead = new TreeNode(0); + rHead.left = node; + return dfs(lHead.left, rHead.left); + } + + private boolean dfs(TreeNode lHead, TreeNode rHead) { + if (lHead == null && rHead == null) { + return true; + } + if (lHead == null || rHead == null) { + return false; + } + if (!Objects.equals(lHead.val, rHead.val)) { + return false; + } + return dfs(lHead.left, rHead.right) && dfs(lHead.right, rHead.left); + } +}