一、题目内容

image.png

二、题解

解法1:

思路

堆栈,比较

代码

  1. public class Solution {
  2. /**
  3. *
  4. * @param s string字符串
  5. * @return bool布尔型
  6. */
  7. public boolean isValid (String s) {
  8. // write code here
  9. if(s == null || s.length()%2!=0){
  10. return false;
  11. }
  12. Stack<Character> stack = new Stack<Character>();
  13. char[] chars = s.toCharArray();
  14. for(char c: chars){
  15. if(c == '{' || c=='('||c=='['){
  16. stack.add(c);
  17. }else{
  18. if(!stack.isEmpty()){
  19. Character pop = stack.pop();
  20. if (c == ')') {
  21. if (pop != '(') {
  22. return false;
  23. }
  24. } else if (c == '}') {
  25. if (pop != '{') {
  26. return false;
  27. }
  28. } else if (c == ']') {
  29. if (pop != '[') {
  30. return false;
  31. }
  32. }
  33. }else{
  34. return false;
  35. }
  36. }
  37. }
  38. return stack.isEmpty();
  39. }
  40. }