zoukankan      html  css  js  c++  java
  • leetcode-- 100. Same Tree

    1、问题描述

    Given two binary trees, write a function to check if they are equal or not.

    Two binary trees are considered equal if they are structurally identical and the nodes have the same value.

    2、边界条件:无

    3、思路:递归,两颗数is same的条件是val相等,子树也是same。但是判断val的前提条件是有val,即不为null。

    base case:两颗数都为空;一颗为空,一颗不为空。

    4、代码实现

    /**
     * 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) {//base case是两个节点都为空
                return true;
            }
            if (p == null || q == null) {
                return false;
            }
            return p.val == q.val
                   && isSameTree(p.left, q.left)
                   && isSameTree(p.right, q.right);
        }
    }
  • 相关阅读:
    leetcode之String to Integer (atoi)
    初次思考
    leetcode之Reverse Words in a String
    Leetcode之Database篇
    在项目中添加类
    创建项目
    配置Eclipse

    递归
    多态
  • 原文地址:https://www.cnblogs.com/shihuvini/p/7455926.html
Copyright © 2011-2022 走看看