Saat syötteenä kaksi binääripuuta. Tehtävänäsi on selvittää ovatko binääripuut rakenteeltaan samat.
Voit olettaa, että kummassakin puussa on enintään 100 solmua.
Python
Toteuta tiedostoon twotrees.py
funktio same
, joka kertoo, onko puilla sama rakenne.
from collections import namedtuple def same(node1, node2): # TODO if __name__ == "__main__": Node = namedtuple("Node", ["left", "right"]) tree1 = Node(None,Node(Node(None,None),Node(None,None))) tree2 = Node(Node(Node(None,None),Node(None,None)),None) tree3 = Node(None,Node(Node(None,None),Node(None,None))) print(same(tree1,tree2)) # False print(same(tree1,tree3)) # True print(same(tree2,tree3)) # False
Java
Toteuta tiedostoon TwoTrees.java
metodi same
, joka kertoo, onko puilla sama rakenne.
public class TwoTrees { public boolean same(Node node1, Node node2) { // TODO } public static void main(String[] args) { TwoTrees t = new TwoTrees(); Node tree1 = new Node(null, new Node(new Node(null,null), new Node(null,null))); Node tree2 = new Node(new Node(new Node(null,null), new Node(null,null)), null); Node tree3 = new Node(null, new Node(new Node(null,null), new Node(null,null))); System.out.println(t.same(tree1,tree2)); // false System.out.println(t.same(tree1,tree3)); // true System.out.println(t.same(tree2,tree3)); // false } }