C语言 | Leetcode C语言题解之第404题左叶子之和
题目:
题解:
bool isLeafNode(struct TreeNode *node) {return !node->left && !node->right;
}int sumOfLeftLeaves(struct TreeNode *root) {if (!root) {return 0;}struct TreeNode **q = malloc(sizeof(struct TreeNode *) * 2001);int left = 0, right = 0;q[right++] = root;int ans = 0;while (left < right) {struct TreeNode *node = q[left++];if (node->left) {if (isLeafNode(node->left)) {ans += node->left->val;} else {q[right++] = node->left;}}if (node->right) {if (!isLeafNode(node->right)) {q[right++] = node->right;}}}return ans;
}