[leetcode]101. Symmetric Tree@Java解题报告

xiaoxiao2021-02-28  130

https://leetcode.com/problems/symmetric-tree/description/

Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).

For example, this binary tree [1,2,2,3,4,4,3] is symmetric:

1 / \ 2 2 / \ / \ 3 4 4 3

But the following [1,2,2,null,3,null,3] is not:

1 / \ 2 2 \ \ 3 3

Note: Bonus points if you could solve it both recursively and iteratively.

package go.jacob.day805; /** * 101. Symmetric Tree * @author Jacob * */ public class Demo4 { /* * 递归解法,与100.Same Tree类似 */ public boolean isSymmetric(TreeNode root) { return root==null||isSymmetric(root.left,root.right); } private boolean isSymmetric(TreeNode left, TreeNode right) { if(left==null&&right==null) return true; if(left==null||right==null) return false; if(left.val==right.val) return isSymmetric(left.left,right.right)&&isSymmetric(left.right,right.left); return false; } private class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } }

转载请注明原文地址: https://www.6miu.com/read-19048.html

最新回复(0)