二叉树:在孩子兄弟链表表示的树中求叶子节点的个数

typedef struct CSNode {
  int val;
  CSNode *firstchild, *nextsibling;
} CSNode, *CSTree;

int dfs(CSTree *root) {
  if (!root) return 0;
  else if (!root->firstchild) return 1;
  else {
    int left  =  dfs(root->firstchild);
    int right = dfs(root->nextsibling);
    return left + right;
  }
}

你可能感兴趣的:(数据结构)