CSES - Sama taso

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

Tehtäväpohjassa on esimerkkinä seuraava puu:

Tässä tasolla 11 on yksi solmu, tasolla 22 on yksi solmu, tasolla 33 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
    }
}