AI'yı Denetle
Düğüm Sayısı
Bir ağaçtaki düğümleri saymanın üç yolu. Etiketle: doğru, yavaş, hatalı.Problem
size(node): ağaçtaki düğüm sayısını döndür. Düğümlerde .left ve .right var (yoksa None); boş ağaç None.Çözüm A
1def size(node):
2 count, queue = 0, [node] if node else []
3 while queue:
4 cur = queue.pop(0)
5 count += 1
6 for child in (cur.left, cur.right):
7 if child:
8 queue.append(child)
9 return count
Çözüm B
1def size(node):
2 if node is None:
3 return 0
4 if node.left is None and node.right is None:
5 return 1
6 return size(node.left) + size(node.right)
Çözüm C
1def size(node):
2 if node is None:
3 return 0
4 return 1 + size(node.left) + size(node.right)