1. class Solution {
    2. public boolean isValid(String s) {
    3. // String str = new String("([)]");
    4. Stack<Character> stack = new Stack<>();
    5. // System.out.println(s);
    6. // boolean flag = true;
    7. int lenth = s.length();
    8. if(lenth % 2 == 1){
    9. return false;
    10. }
    11. else{
    12. for(int i = 0;i < lenth;i++){
    13. char ch = s.charAt(i);
    14. if(ch == '(' || ch =='{' || ch == '[') {
    15. stack.push(ch);
    16. }
    17. else{
    18. if (ch == ')' && (stack.isEmpty() || stack.peek()!='(')){
    19. // flag = false;
    20. // break;
    21. return false;
    22. }
    23. else if (ch == ']' && (stack.isEmpty() || stack.peek()!='[')){
    24. // flag = false;
    25. // break;
    26. return false;
    27. }
    28. else if(ch == '}' && (stack.isEmpty() || stack.peek()!='{')){
    29. // flag = false;
    30. return false;
    31. // break;
    32. }
    33. else{
    34. stack.pop();
    35. }
    36. }
    37. }
    38. }
    39. return stack.isEmpty();
    40. }
    41. }