Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Main {
- public static boolean samanlaiset(Puu a, Puu b) {
- System.out.println(a.arvo + " " + b.arvo);
- // Exit early
- if (a.arvo != b.arvo) {
- return false;
- }
- // If all branches are empty and a=b return true
- if (a.oikea == null && b.oikea == null && a.vasen == null && b.vasen == null) {
- return true;
- }
- // Else check left and right branches
- boolean oikOikein = false;
- boolean vasOikein = false;
- if (a.oikea != null) {
- if (b.oikea != null) {
- oikOikein = samanlaiset(a.oikea, b.oikea);
- }
- } else {
- oikOikein = true;
- }
- if (a.vasen != null) {
- if (b.vasen != null) {
- vasOikein = samanlaiset(a.vasen, b.vasen);
- }
- } else {
- vasOikein = true;
- }
- return oikOikein && vasOikein;
- }
- public static void main(String[] args) {
- Puu puu1 = new Puu(1,
- new Puu(3,
- new Puu(2, null, null),
- new Puu(1, null, null)),
- new Puu(3,
- new Puu(3, null, null),
- new Puu(2, null, null)));
- Puu puu2 = new Puu(1,
- new Puu(3,
- new Puu(2, null, null),
- new Puu(1, null, null)),
- new Puu(3,
- new Puu(3, null, null),
- new Puu(2, null, null)));
- System.out.println(samanlaiset(puu1, puu2));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement