zoukankan      html  css  js  c++  java
  • LeetCode【100. 相同的树】

    看到这道题,第一思考是结构和节点完全相同

    第一次,就没有思考null的情况

    if(p.val == q.val && p.left.val == q.left.val && p.right.val == q.right.val)
    {
        return true;
    }
    else
        return false;

    这个就导致以下错误,就是空指针的错误

    java.lang.NullPointerException
      at line 12, Solution.isSameTree
      at line 54, __DriverSolution__.__helper__
      at line 81, __Driver__.main

    然后修改的代码

            if(p == null && q == null)
            {
                return true;
            }
            else if(p != null && q != null)
            {
                if(p.val == q.val && p.left.val == q.left.val && p.right.val == q.right.val)
                {
                    return true;
                }
                return false;
            }
            else
                return false;

    然而,也出现了空指针的错误,仔细查看代码后,发现了问题所在,就是只考虑了p的null与q的null,不能保证p.left,q.left,p.right,q.right是否为空,

    那么,他们判断是否为null,依然和p,q是否为null是类似的,那么在这里就可以利用递归。

    采用isSameTree(p,q)这个函数,就可以采用isSameTree(p.left,q.left)和isSameTree(p.right,q.right),就可以避免null

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    class Solution {
        public boolean isSameTree(TreeNode p, TreeNode q) {
            if(p == null && q == null)
            {
                return true;
            }
            else if(p != null && q != null)
            {
                if(p.val == q.val && isSameTree(p.left,q.left) && isSameTree(p.right,q.right))
                {
                    return true;
                }
                return false;
            }
            else
                return false;
        }
    }
  • 相关阅读:
    yarn 0.9.0 build spark
    redhat6.4上build storm 0.9.0.1
    redhat6.4安装storm集群-4节点
    Hadoop 2.2.0 4结点集群安装 非HA
    redhat6.4上安装mysql
    redhat6.4上用apache建立os repos
    Hive Over HBase
    Hadoop 2.2.0学习笔记20131210
    Hadoop 2.2.0学习笔记20131209
    IDH2.5.1. Pain Points
  • 原文地址:https://www.cnblogs.com/wzwi/p/10715279.html
Copyright © 2011-2022 走看看