zoukankan      html  css  js  c++  java
  • Java [Leetcode 101]Symmetric Tree

    题目描述:

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

    For example, this binary tree is symmetric:

        1
       / 
      2   2
     /  / 
    3  4 4  3
    

    But the following is not:

        1
       / 
      2   2
          
       3    3

    解题思路:

    递归法

    代码如下:

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    public class Solution {
        public boolean isSymmetric(TreeNode root) {
            if(root == null)
            	return true;
            return  isMirror(root.left, root.right);
        }
    
        public boolean isMirror(TreeNode left, TreeNode right){
        	if(left == null && right == null)
        		return true;
        	else if(left == null)
        		return false;
        	else if(right == null)
        		return false;
        	else{
        		if(left.val != right.val)
        			return false;
        		return isMirror(left.right, right.left) && isMirror(left.left, right.right);
        	}
        }
    }
    

      

  • 相关阅读:
    一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?
    210902
    1-2
    1-1
    4
    3
    2
    1
    u编码
    windows java 安装版 控制面板
  • 原文地址:https://www.cnblogs.com/zihaowang/p/5128196.html
Copyright © 2011-2022 走看看