zoukankan      html  css  js  c++  java
  • 100. Same Tree (Tree;DFS)

     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.

    思路:如果两个树相同,那么他们的左子树、右子树必定也相同=>递归=>可用前序、中序或后续遍历。

    以下用的是前序遍历,先处理根节点。

    /**
     * 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;
            else if(p!=NULL && q!=NULL)
            {  
                if(p->val != q->val) return false;
            }
            else return false;
    
            
            if (!isSameTree(p->left,q->left)) return false;
            
            if (!isSameTree(p->right,q->right)) return false;
            
            return true;
        }
    };
  • 相关阅读:
    oracle插入数据
    保存图片
    ASCII码排序及md5加密
    JavaScript
    HTML
    py访问Redis和zk操作
    Zookeeper集群搭建以及python操作zk
    并发编程
    Python之socket(套接字)
    Python 网络编程
  • 原文地址:https://www.cnblogs.com/qionglouyuyu/p/6063803.html
Copyright © 2011-2022 走看看