leecode 解题总结:100. Same Tree

来源:互联网 发布:多进程编程模式 编辑:程序博客网 时间:2024/06/17 23:21
#include <iostream>#include <stdio.h>#include <vector>using namespace std;/*问题: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.分析:判定两颗二叉树是否是同一颗。如果两个根节点都为空,是的,否则,如果一个为空,另一个不为空,返回false;如果两个根节点值不同,返回fasle;重复对两棵树的左右子树进行上述判断*/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(NULL == p && NULL == q){return true;}else if(NULL == p){return false;}else if(NULL == q){return false;}if(p->val != q->val){return false;}return isSameTree(p->left , q->left) && isSameTree(p->right , q->right);    }};void print(vector<int>& result){if(result.empty()){cout << "no result" << endl;return;}int size = result.size();for(int i = 0 ; i < size ; i++){cout << result.at(i) << " " ;}cout << endl;}void process(){ vector<int> nums; int value; int num; Solution solution; vector<int> result; while(cin >> num ) { nums.clear(); for(int i = 0 ; i < num ; i++) { cin >> value; nums.push_back(value); } }}int main(int argc , char* argv[]){process();getchar();return 0;}

0 0
原创粉丝点击