zoukankan      html  css  js  c++  java
  • Leetcode[100]-Same Tree

    Link: https://leetcode.com/problems/same-tree/

    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.


    思路:递归法推断
    假设两棵树根结点为p和q

    • 假设p和q都为空,则返回true;否则。
    • 假设p和q都非空。而且他们的值都相等。则推断其左右子树是否是类似树。否则
    • 返回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 && !q) return true;
            else if(p && q && (p->val == q->val)){
                return isSameTree(p->left,q->left) && isSameTree(p->right,q->right);
            }else{
                return false;
            }
        }
    };
  • 相关阅读:
    继承
    对象与类
    反射
    I/O流
    字符串
    Map的entrySet()方法
    接口与内部类
    Git Usage Summary
    HTML(5)
    毕业设计:下载
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/7379671.html
Copyright © 2011-2022 走看看