• Symmetric Tree,对称树


    问题描述:

    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
    

    算法分析:和same tree比较像,都可以用递归方法来解决。

    public class SymmeticTree 
    {
    	public boolean isSymmetric(TreeNode root) 
    	{
    		if (root == null) 
    		{
    			return true;
    		}
    		return isSymmetric(root.left, root.right);
    	}
    
    	public boolean isSymmetric(TreeNode left, TreeNode right) 
    	{
    		if (left == null && right == null) 
    		{
    			return true;
    		}
    		else if ((left == null && right != null)
    				|| (right == null && left != null) || (left.val != right.val))
    		{
    			return false;
    		}
    		else
    		{
    			return isSymmetric(left.left, right.right)
    					&& isSymmetric(left.right, right.left);
    		}
    	}
    }
    
  • 相关阅读:
    python条件判断之直接加数字
    pythontip题目解答
    twitter api取出的日期格式化
    MySQL Archive存储引擎
    Python Json序列化
    Python 装饰器
    Python 匿名函数
    Python 函数
    Python 字符编码
    Python 文件操作
  • 原文地址:https://www.cnblogs.com/masterlibin/p/5903854.html
Copyright © 2020-2023  润新知