不脱发的尼古拉斯萧瑟 2017-06-08 02:34 采纳率: 50%
浏览 1504
已采纳

java中的算法来校验字符串是否规则

例如:String str = "[{][<<<]]";有一段不规则的字符串
如何写一个算法来验证他是不是规则的:比如"{[<>]}"这种是规则的

  • 写回答

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();
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services