思路:如果我们知道了左子树和右子树的深度分别为 l 和 r,那么该二叉树的最大深度即为 max(l,r)+1
class Solution {
public:
int maxDepth(TreeNode* root) {
if (root == nullptr) return 0;
return max(maxDepth(root->left), maxDepth(root->right)) + 1;
}
};
int uniquePaths(int m, int n) {
int f[m][n];
for (int i = 0; i < m; ++i) {
f[i][0] = 1;
}
for (int j = 0; j < n; ++j) {
f[0][j] = 1;
}
for (int i = 1; i < m; ++i) {
for (int j = 1; j < n; ++j) {
f[i][j] = f[i - 1][j] + f[i][j - 1];
}
}
return f[m - 1][n - 1];
}
这周比较忙,参加完比赛浑身酸痛,下周一定多补几个,这次比较水。