CSES - Sama taso

Tehtäväsi on laskea, montako solmua on annetussa binääripuussa tietyllä tasolla. Puun juuri on tasolla 1, sen lapset ovat tasolla 2, jne. Voit olettaa, että puussa on enintään 100 solmua.

Tehtäväpohjassa on esimerkkinä seuraava puu:

Tässä tasolla 1 on yksi solmu, tasolla 2 on yksi solmu, tasolla 3 on kaksi solmua ja muilla tasoilla ei ole mitään.

Python

Toteuta tiedostoon samelevel.py funktio count, joka palauttaa solmujen määrän.

from collections import namedtuple

def count(node, level):
    # TODO

if __name__ == "__main__":
    Node = namedtuple("Node", ["left", "right"])
    tree = Node(None,Node(Node(None,None),Node(None,None)))
    print(count(tree,1)) # 1
    print(count(tree,2)) # 1
    print(count(tree,3)) # 2
    print(count(tree,4)) # 0

Java

Toteuta tiedostoon SameLevel.java metodi count, joka palauttaa solmujen määrän.

public class SameLevel {
    public int count(Node node, int level) {
        // TODO
    }

    public static void main(String[] args) {
        SameLevel s = new SameLevel();
        Node tree = new Node(null,
                             new Node(new Node(null,null),
                                      new Node(null,null)));
        System.out.println(s.count(tree,1)); // 1
        System.out.println(s.count(tree,2)); // 1
        System.out.println(s.count(tree,3)); // 2
        System.out.println(s.count(tree,4)); // 0
    }
}