pta 叶节点求和c语言
时间: 2024-09-29 09:15:36 浏览: 144
PTA查验身份证(C语言版)
PTA(People Who Code Together,编程马拉松团队)叶节点求和通常是指在一个树结构(如二叉树、平衡树等)中,找到所有叶子节点(没有子节点的节点)的数值之和。在C语言中,你可以通过遍历这个树来实现。这里是一个简单的示例,假设我们有一个二叉树结构,每个节点包含一个整数值:
```c
typedef struct TreeNode {
int val;
struct TreeNode* left;
struct TreeNode* right;
} TreeNode;
// 函数用于递归求解叶节点和
int sumLeafNodes(TreeNode* root) {
if (root == NULL) { // 如果节点为空,则返回0
return 0;
} else if (root->left == NULL && root->right == NULL) { // 如果当前节点是叶节点,累加其值
return root->val;
} else { // 否则,对左子树和右子树分别递归求和
return sumLeafNodes(root->left) + sumLeafNodes(root->right);
}
}
```
在这个函数中,首先检查当前节点是否为空,如果是空节点则返回0。如果当前节点是叶节点(即左右子节点都为空),就直接加上其值。如果不是叶节点,就对左右子树继续递归求和。
阅读全文