【二叉树】计算儿子节点和

xiaoxiao2021-02-28  72

题目链接:https://leetcode.com/problems/binary-tree-tilt/#/description

注意:titl的定义是儿子节点的和的绝对值之和

/** * 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 findTilt(TreeNode* root) { int k=0; getSum(root,k); return k; } // 获取root的节点和;k统计每个节点的差值 int getSum(TreeNode* root,int& k){ if(root==NULL) return 0; int ll=getSum(root->left,k); int rr=getSum(root->right,k); k+=abs(ll-rr); // 该树的节点和; return ll+rr+root->val; } };

转载请注明原文地址: https://www.6miu.com/read-80664.html

最新回复(0)