etant donne le root d'un arbre binaire, renvoie la somme des valeurs des noeuds avec un grand-parent de valeur paire. S'il n'y a pas de noeuds avec grand-parent pair, retourner 0. Un grand-parent d'un noeud est le parent de son parent s'il existe
============
implémentation en C# pour calculer la somme des valeurs des nœuds avec un grand-parent de valeur paire dans un arbre binaire:
```csharp
using System;
public class TreeNode {
public int val;
public TreeNode left;
public TreeNode right;
public TreeNode(int x) { val = x; }
}
public class Solution {
public int SumEvenGrandparent(TreeNode root) {
if (root == null) return 0;
int sum = 0;
SumHelper(root, null, null, ref sum);
return sum;
}
private void SumHelper(TreeNode node, TreeNode parent, TreeNode grandParent, ref int sum) {
if (node == null) return;
if (grandParent != null && grandParent.val % 2 == 0) {
sum += node.val;
}
SumHelper(node.left, node, parent, ref sum);
SumHelper(node.right, node, parent, ref sum);
}
}
class Program {
static void Main(string[] args) {
// Exemple d'utilisation
TreeNode root = new TreeNode(6);
root.left = new TreeNode(7);
root.right = new TreeNode(8);
root.left.left = new TreeNode(2);
root.left.right = new TreeNode(7);
root.right.left = new TreeNode(1);
root.right.right = new TreeNode(3);
Solution solution = new Solution();
int result = solution.SumEvenGrandparent(root);
Console.WriteLine("La somme des valeurs des noeuds avec un grand-parent de valeur paire est : " + result);
}
}
```
Aucun commentaire:
Enregistrer un commentaire