Maximu Depth of Binary Tree

题目大意:

很简单,只需要找出一颗二叉树的最大深度即可,貌似没有时间和空间的要求。

求解方法:

更简单,只需要按照宽度优先的方法去查找即可,,在这里我用a队列保存待扩展的节点,用b来保存a扩展出来的节点,再利用t中间变量来交换a和b,直到a列队为空时,结束。 注意边界条件,root=NULL时,应该返回0.

;//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:int maxDepth(TreeNode* root){int deep=0;queue<TreeNode*> a;queue<TreeNode*> b;queue<TreeNode*> t;if (root!=NULL)deep=deep+1;elsereturn deep;a.push(root);while(!a.empty()){(!a.empty()){TreeNode* node=a.front();if(node->left!=NULL)b.push(node->left);if(node->right!=NULL)b.push(node->right);a.pop();}t=a;a=b;b=t;if(!a.empty())deep=deep+1;}return deep;}};int main(){cout << “只要将头文件和solution类拷贝进去即可。!” << endl;;}

若不给自己设限,则人生中就没有限制你发挥的藩篱。

Maximu Depth of Binary Tree

相关文章:

你感兴趣的文章:

标签云: