首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

Same Tree -LeetCode 二叉树相等

2013-10-03 
Same Tree ---LeetCode 二叉树相等描述:Given two binary trees, write a function to check if they are

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;            }};


热点排行