CSES - Puun polut

Polku on kahden puun solmun välinen reitti, ja polun pituus on askelten määrä reitillä.

Tehtäväsi on laskea pituuksien summa kaikista puussa olevista poluista, joissa päätesolmut ovat puun lehtiä.

Tehtäväpohjan esimerkissä polut ovat seuraavat:

Polkujen pituudet ovat 3, 3 ja 2, joten vastaus on 3+3+2=8.

Python

Toteuta tiedostoon treepath.py funktio count, joka palauttaa pituuksien summan.

from collections import namedtuple

def count(node):
    # TODO

if __name__ == "__main__":
    Node = namedtuple("Node",["left","right"])
    tree = Node(Node(None,None),Node(Node(None,None),Node(None,None)))
    print(count(tree)) # 8

Java

Toteuta tiedostoon TreePath.java metodi count, joka palauttaa pituuksien summan.

public class TreePath {
    public int count(Node node) {
        // TODO
    }

    public static void main(String[] args) {
        TreePath t = new TreePath();
        Node tree = new Node(new Node(null,null),
                             new Node(new Node(null,null),
                                      new Node(null,null)));
        System.out.println(t.count(tree)); // 8
    }
}