int calsum(TreeNode *root, int &ans) { int f = 0; if (root == NULL) return f; int left = calsum(root->left, ans); int right = calsum(root->right, ans); ans = max(ans, left + right + root->val); ans = max(ans, left + root->val); ans = max(ans, right + root->val); f = max(0, max(left, right)) + root->val; return f; }
int calsum(int n) { if (n != 0) { rem = n % 10; sum = sum + rem; calsum(n / 10); } return sum; }
main() { int a,b,c,sum; printf("enter any three numbers\n"); scanf("%d%d%d",&a,&b,&c); sum=calsum(a,b,c); printf("sum= %d",sum); getch(); }
int maxPathSum(TreeNode *root) { // Start typing your C/C++ solution below // DO NOT write int main() function int ans = 0; if (root) { ans = root->val; calsum(root, ans); } return ans; }