读书人

Same Tree -LeetCode 二叉树相等

发布时间: 2013-10-03 17:28:15 作者: rapoo

Same Tree ---LeetCode 二叉树相等

描述:

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 binary tree * 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) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        if(p == NULL && q == NULL) return true;        if((p == NULL && q !=NULL) || (p !=NULL && q == NULL)) return false;        if(p->val != q->val) return false;        if(!issame(p->left,q->left)) return false;        if(!issame(p->right,q->right)) return false;        return true;            }    bool issame(TreeNode *p, TreeNode *q)    {        if((p == NULL && q !=NULL) || (p !=NULL && q == NULL)) return false;        if(p == NULL && q == NULL) return true;        if(p->val != q->val) return false;        if(!issame(p->left,q->left)) return false;        if(!issame(p->right,q->right)) return false;        return true;            }};


读书人网 >互联网

热点推荐