美文网首页
LeetCode 100. Same Tree

LeetCode 100. Same Tree

作者: cb_guo | 来源:发表于2019-02-28 19:49 被阅读0次

    题目描述

    Given two binary trees, write a function to check if they are the same or not.
    Two binary trees are considered the same if they are structurally identical and the nodes have the same value.

    Example 1:
    
    Input:     1         1
              / \       / \
             2   3     2   3
    
            [1,2,3],   [1,2,3]
    
    Output: true
    
    Example 2:
    
    Input:     1         1
              /           \
             2             2
    
            [1,2],     [1,null,2]
    
    Output: false
    
    Example 3:
    
    Input:     1         1
              / \       / \
             2   1     1   2
    
            [1,2,1],   [1,1,2]
    
    Output: false
    

    题目思路

    代码 C++

    • 思路一、递归实现
    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        bool isSameTree(TreeNode* p, TreeNode* q) {
            if(p == NULL && q == NULL){
                return true;
            }
            
            if(p == NULL || q == NULL){
                return false;
            }
            
            if(p->val == q->val){
                return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);
            }
            else{
                return false;
            }
        }
    };
    

    总结展望

    相关文章

      网友评论

          本文标题:LeetCode 100. Same Tree

          本文链接:https://www.haomeiwen.com/subject/kygkuqtx.html