leetcode 每日一题 104. Maximum Depth of Binary Tree

来源:互联网 发布:淘宝上悦诗风吟专柜 编辑:程序博客网 时间:2024/06/05 21:10


求二叉树的深度的题,可以用递归的DFS做,试了几次发现ac了····

class Solution {public:    int count=0;    int maxDepth(TreeNode* root) {        if(root==NULL) return 0;        count=max(maxDepth(root->left),maxDepth(root->right));        return count+1;    }};


后来发现还可以用BFS的队列做~ 代码使用的 http://blog.csdn.net/doc_sgl/article/details/11853959

有空要自己再敲一下


 

int maxDepth(TreeNode *root) {          // Start typing your C/C++ solution below          // DO NOT write int main() function          if(root == NULL) return 0;          queue<TreeNode*> que;          que.push(root);          int count = 1;          int depth = 0;          while(!que.empty())          {              TreeNode* tmp = que.front();              que.pop();              count--;                if(tmp->left)                  que.push(tmp->left);              if(tmp->right)                  que.push(tmp->right);              if(count == 0)              {                  depth++;                  count=que.size();              }          }          return depth;      }  

0 0
原创粉丝点击