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;
            }
        }
    };
  • 相关阅读:
    设计模式学习笔记一
    linux学习记录(一)
    eclipse插件集合
    什么叫反向代理?
    shiro学习四
    shiro学习三
    shiro学习二
    第二次作业
    第一次作业
    自我介绍
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/7379671.html
Copyright © 2011-2022 走看看