Tehtäväsi on laskea suurin ero vasemman ja oikean alipuun solmujen määrässä jossain binääripuun solmussa. Voit olettaa, että puussa on enintään 100 solmua.
Tehtäväpohjassa esimerkkinä on seuraava puu:
Python
Toteuta tiedostoon subtrees.py funktio diff, joka palauttaa suurimman eron.
from collections import namedtuple
def diff(node):
# TODO
if __name__ == "__main__":
Node = namedtuple("Node", ["left", "right"])
tree = Node(None,Node(Node(None,None),Node(None,None)))
print(diff(tree)) # 3
Java
Toteuta tiedostoon Subtrees.java metodi diff, joka palauttaa suurimman eron.
public class Subtrees {
public int diff(Node node) {
// TODO
}
public static void main(String[] args) {
Subtrees s = new Subtrees();
Node tree = new Node(null,
new Node(new Node(null,null),
new Node(null,null)));
System.out.println(s.diff(tree)); // 3
}
}
