100. Same Tree
来源:互联网 发布:淘宝活动预热 编辑:程序博客网 时间:2024/05/17 04:25
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.
主要是二叉树的bfs的运用。
/** * 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) { queue<TreeNode*> pque,qque; if (p&&q) { pque.push(p); qque.push(q); } else if (!p&&!q) return true; else return false; while (!pque.empty()&&!qque.empty()) { if (pque.front()->val!=qque.front()->val) return false; else { TreeNode* pp=pque.front(),*qq=qque.front(); pque.pop(); qque.pop(); if (pp->left&&qq->left) { pque.push(pp->left); qque.push(qq->left); } else if(!pp->left&&!qq->left) {} else return false; if (pp->right&&qq->right) { pque.push(pp->right); qque.push(qq->right); } else if(!pp->right&&!qq->right) {} else return false; } } if (!pque.empty()||!qque.empty()) return false; return true; }};
中序遍历递归实现,用的是dfs。
/** * 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) { if(!p && !q) return true; else if(!p && q) return false; else if(p && !q) return false; else { if(p->val != q->val) return false; else return isSameTree(p->left, q->left) && isSameTree(p->right, q->right); } }};
0 0
- [LeetCode]100.Same Tree
- LeetCode 100. Same Tree
- 100.Same Tree
- 【LeetCode】100.Same Tree
- [Leetcode] 100. Same Tree
- [Leetcode] 100. Same Tree
- LeetCode --- 100. Same Tree
- LeetCode 100. Same Tree
- [leetcode] 100.Same Tree
- 100.Same Tree
- 100. Same Tree
- 100.Same Tree
- 100. Same Tree
- 100. Same Tree
- 100. Same Tree
- leetCode 100. Same Tree
- 100. Same Tree
- [LeetCode]100. Same Tree
- Bellman-Ford的队列优化(求某点到所有点的最短距离)
- 如何训练非平衡数据的分类器
- CentOS学习15_CentOS6.5虚拟机中,Eclipse频繁闪退问题的解决
- 卡尔曼滤波的原理说明
- 88. Merge Sorted Array*
- 100. Same Tree
- win10 家庭版 开启远程桌面功能
- Java集合学习之hashCode
- Android studio主题设置
- Jquery李炎恢—53cookie插件【19】
- 16位汇编 loop循环
- JavaWeb不定条件查询
- jquery page.js插件
- POJ 3368/RMQ