zoukankan      html  css  js  c++  java
  • LeetCode

    Same Tree

    2013.12.31 22:56

    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.

    Solution:

      Check the root, the left subtree and the right subtree, recursively. That's the answer.

      Time complexity is O(min(m, n)), where m and n are the numbers of nodes in both trees.

      Space complexity is O(1).

    Accepted code:

     1 /**
     2  * Definition for binary tree
     3  * struct TreeNode {
     4  *     int val;
     5  *     TreeNode *left;
     6  *     TreeNode *right;
     7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     8  * };
     9  */
    10 class Solution {
    11 public:
    12     bool isSameTree(TreeNode *p, TreeNode *q) {
    13         // Note: The Solution object is instantiated only once and is reused by each test case.
    14         if(p == nullptr || q == nullptr){
    15             return p == q;
    16         }else{
    17             if(p->val == q->val){
    18                 return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);
    19             }else{
    20                 return false;
    21             }
    22         }
    23     }
    24 };
  • 相关阅读:
    OAuth2.0协议流程
    记多个微服务同时被kill分析
    记一次调用API遇到的问题
    win10安装mysql遇到的坑
    nagios
    rmp安装mysql5.6
    桥接模式-xshell连接虚拟机
    VMWare虚拟机-网络适配器
    ***时间目录***
    docker常用命令
  • 原文地址:https://www.cnblogs.com/zhuli19901106/p/3500202.html
Copyright © 2011-2022 走看看