例如:String str = "[{][<<<]]";有一段不规则的字符串
如何写一个算法来验证他是不是规则的:比如"{[<>]}"这种是规则的
java中的算法来校验字符串是否规则
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- yizishou 2017-06-08 03:12关注
private static boolean test(String s) { Map<Character, Character> pair = new TreeMap<>(); pair.put('[', ']'); pair.put('{', '}'); pair.put('<', '>'); pair.put('(', ')'); Stack<Character> stack = new Stack<>(); for (char c : s.toCharArray()) { if (pair.containsKey(c)) { stack.push(c); } else if (pair.containsValue(c)) { if (stack.isEmpty() || c != pair.get(stack.pop())) { return false; } } } return stack.isEmpty(); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报