CSES - Lehdet

Tehtäväsi on laskea, montako lehteä annetussa puussa on. Puun solmu on lehti, jos sillä ei ole yhtään lasta.

Toteuta tiedostoon leaves.py funktio count, joka palauttaa lehtien määrän.

from collections import namedtuple

def count(node):
    # TODO

if __name__ == "__main__":
    Node = namedtuple("Node", ["children"], defaults=[[]])

    tree = Node([
               Node(),
               Node([Node([Node(), Node()])]),
               Node([Node(), Node()])
           ])

    print(count(tree)) # 5

Huomaa, että tämän viikon tehtävissä Node määritellään lyhyellä tavalla:

Node = namedtuple("Node", ["children"], defaults=[[]])

Tämä vastaa suunnilleen seuraavaa luokkaa:

class Node:
    def __init__(self, children=[]):
        self.children = children

    def __repr__(self):
        return "Node(children="+str(self.children)+")"