1. package com.alg.two;
    2. /**
    3. * @author fuyao
    4. * @date 2022年04月19日 5:20 下午
    5. */
    6. public class IsSymmetric {
    7. public boolean isSymmetric(Node tree){
    8. return checkSymmetric(tree.left,tree.right);
    9. }
    10. public boolean checkSymmetric(Node left,Node right){
    11. if (left == null && right == null) {
    12. return true;
    13. }
    14. if (left == null || right == null){
    15. return false;
    16. }
    17. if (left.value != right.value){
    18. return false;
    19. }
    20. return checkSymmetric(left.left,right.right) && checkSymmetric(left.right,right.left);
    21. }
    22. public static void main(String[] args) {
    23. Node node1 = new Node(1);
    24. Node node3 = new Node(3);
    25. Node node2 = new Node(2,node1,node3);
    26. IsSymmetric tree = new IsSymmetric();
    27. System.out.println(tree.isSymmetric(node2));
    28. }
    29. static class Node{
    30. int value;
    31. Node left;
    32. Node right;
    33. public Node(int value) {
    34. this.value = value;
    35. }
    36. public Node(int value, Node left, Node right) {
    37. this.value = value;
    38. this.left = left;
    39. this.right = right;
    40. }
    41. }
    42. }