Дерево Сума вершин з одним сином#11744

Дерево Сума вершин з одним сином

1 секунда
128 мегабайтів
Легка

Дано бінарне дерево пошуку. Знайдіть суму всіх його вершин, які мають лише одного нащадка (лівого або правого).

Опис дерева:

// Java
class TreeNode
{
public:
  int val;
  TreeNode left;
  TreeNode right;
  TreeNode(int x) {
    val = x;
    left = NULL; 
    right = NULL;
};
// C++
class TreeNode
{
public:
  int val;
  TreeNode *left;
  TreeNode *right;
  TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};

Реалізуйте функцію sumOneSon, яка повертає суму всіх вершин, що мають лише одного нащадка. Якщо в заданому дереві немає таких вершин, поверніть .

// Java
int sumOneSon(TreeNode tree)

// C++
int sumOneSon(TreeNode *tree)

Примітка

Функція sumOneSon повертає 34 = 4 + 10 + 20.