Дано бинарное дерево поиска. Найдите сумму всех его вершин, которые имеют только одного сына (левого или правого).
Определение дерева:
// 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.