CSES - Puun kopiot

Saat syötteenä kaksi binääripuuta. Tehtäväsi on laskea, kuinka monta kertaa ensimmäinen puu esiintyy jälkimmäisessä puussa alipuuna.

Voit olettaa, että kummassakin puussa on enintään 100 solmua.

Python

Toteuta tiedostoon findtree.py funktio count, joka antaa halutun tuloksen.

from collections import namedtuple

def count(node1, node2):
    # TODO

if __name__ == "__main__":
    Node = namedtuple("Node", ["left", "right"])
    tree1 = Node(Node(None,None),Node(None,None))
    tree2 = Node(None,Node(Node(None,None),Node(None,None)))
    print(count(tree1,tree2)) # 1

Java

Toteuta tiedostoon FindTree.java metodi count, joka antaa halutun tuloksen.

public class FindTree {
    public int count(Node node1, Node node2) {
        // TODO
    }

    public static void main(String[] args) {
        FindTree f = new FindTree();
        Node tree1 = new Node(new Node(null,null),
                              new Node(null,null));
        Node tree2 = new Node(null,
                              new Node(new Node(null,null),
                                       new Node(null,null)));
        System.out.println(f.count(tree1,tree2)); // 1
    }
}