牛客OJ:判断平衡二叉树

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ShellDawn/article/details/88900288

递归比较左右子树,维护flag,并返回深度。

#include <bits/stdc++.h>
using namespace std;

class Solution {
public:
    int FindGreatestSumOfSubArray(vector<int> array) {
        int l = array.size();
        vector<int> dp;
        dp.push_back(0);
        int ans = 0;
        for(int i=1;i<=l;i++){
            printf("%d\n",dp[i-1]);
            if(dp[i-1]<=0) dp.push_back(array[i-1]);
            else dp.push_back(dp[i-1]+array[i-1]);
            ans = max(ans,dp[i]);
        }
        return ans;
    }
};

int main(){
    int a[] = {1,-2,3,10,-4,7,2,-5};
    vector<int> v(a,a+8);
    Solution S;
    printf("%d\n",S.FindGreatestSumOfSubArray(v));
    return 0;
}

猜你喜欢

转载自blog.csdn.net/ShellDawn/article/details/88900288