fork(3) download
  1.  
  2. public class BinaryTree {
  3.  
  4. public static boolean isSubtree(Node root1, Node root2){
  5.  
  6. if(root2 == null){
  7. return true;
  8. }
  9. if(root1 == null){
  10. return false;
  11. }
  12. if(root1.data == root2.data){
  13. return (isSubtree(root1.left, root2.left) && isSubtree(root1.right, root2.right));
  14. }else{
  15. return (isSubtree(root1.left, root2) || isSubtree(root1.right, root2));
  16. }
  17. }
  18. // T(n) = O(n^2)
  19.  
  20. public static void main(String[] args) {
  21.  
  22. Node root3 = new Node(10);
  23. root3.left = new Node(20);
  24. root3.right = new Node(30);
  25. root3.left.left = new Node(40);
  26.  
  27. Node root4 = new Node(10);
  28. root4.left = new Node(30);
  29. root4.right = new Node(40);
  30.  
  31. System.out.println(isSubtree(root3, root4));
  32. }
  33. }
  34.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:2: error: class BinaryTree is public, should be declared in a file named BinaryTree.java
public class BinaryTree {
       ^
Main.java:4: error: cannot find symbol
	public static boolean isSubtree(Node root1, Node root2){
	                                ^
  symbol:   class Node
  location: class BinaryTree
Main.java:4: error: cannot find symbol
	public static boolean isSubtree(Node root1, Node root2){
	                                            ^
  symbol:   class Node
  location: class BinaryTree
Main.java:22: error: cannot find symbol
		Node root3 = new Node(10);
		^
  symbol:   class Node
  location: class BinaryTree
Main.java:22: error: cannot find symbol
		Node root3 = new Node(10);
		                 ^
  symbol:   class Node
  location: class BinaryTree
Main.java:23: error: cannot find symbol
		root3.left = new Node(20);
		                 ^
  symbol:   class Node
  location: class BinaryTree
Main.java:24: error: cannot find symbol
		root3.right = new Node(30);
		                  ^
  symbol:   class Node
  location: class BinaryTree
Main.java:25: error: cannot find symbol
		root3.left.left = new Node(40);
		                      ^
  symbol:   class Node
  location: class BinaryTree
Main.java:27: error: cannot find symbol
		Node root4 = new Node(10);
		^
  symbol:   class Node
  location: class BinaryTree
Main.java:27: error: cannot find symbol
		Node root4 = new Node(10);
		                 ^
  symbol:   class Node
  location: class BinaryTree
Main.java:28: error: cannot find symbol
		root4.left = new Node(30);
		                 ^
  symbol:   class Node
  location: class BinaryTree
Main.java:29: error: cannot find symbol
		root4.right = new Node(40);
		                  ^
  symbol:   class Node
  location: class BinaryTree
12 errors
stdout
Standard output is empty