博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
合法括号序列判断
阅读量:3965 次
发布时间:2019-05-24

本文共 1161 字,大约阅读时间需要 3 分钟。

题目

在这里插入图片描述

链接

思路

  1. 如果字符串长度是奇数,就不是合法序列,直接返回false
  2. 字符串长度是偶数,遍历字符串进行匹配
    1. 如果是左括号,直接入栈。
    2. 如果是右括号,判断栈是否为空,
    1. 栈为空也直接返回false;
    2. 栈不为空,弹出栈顶元素是否是左括号,是就匹配,删除栈顶元素。
    4. 如果字符既不是左括号也不是右括号,返回false。

代码

import java.util.*;public class Parenthesis {
public boolean chkParenthesis(String A, int n) {
// write code here /* 1. 如果字符串长度是奇数,就不是合法序列,直接返回false 2.字符串长度是偶数,遍历字符串进行匹配 1 如果是左括号,直接入栈 2. 如果是右括号,判断栈是否为空,为空也直接返回false;栈不为空,弹出栈顶元素是否是左括号,是就匹配 3. 如果字符既不是左括号也不是右括号,返回false */ if(A.length()==0){
return false; } if(A.length()%2==1){
return false; } Deque
stack=new LinkedList<>(); for(char c:A.toCharArray()){
if(c=='('){
stack.push(c); }else if(c==')'){
if(stack.isEmpty()){
return false; } if(stack.peek()=='('){
stack.pop(); } }else{
return false; } } return stack.isEmpty(); }}

转载地址:http://dffki.baihongyu.com/

你可能感兴趣的文章
platform设备添加流程(转载)
查看>>
GCC编译关键字“__attribute_…
查看>>
GCC编译关键字“__attribute_…
查看>>
Linux对I/O端口资源的管理(&nbsp;…
查看>>
Linux对I/O端口资源的管理(&nbsp;…
查看>>
[转载]Linux内核中的platfor…
查看>>
[转载]Linux内核中的platfor…
查看>>
IO端口和IO内存&nbsp;(转载)
查看>>
IO端口和IO内存&nbsp;(转载)
查看>>
Linux内核驱动模块
查看>>
Linux内核驱动模块
查看>>
linux中同步例子(完成量completion…
查看>>
linux中同步例子(完成量completion…
查看>>
Linux驱动中completion接口…
查看>>
Linux驱动中completion接口…
查看>>
顺序和屏障&nbsp;收藏
查看>>
顺序和屏障&nbsp;收藏
查看>>
LINUX内核调试相关--oops信息的…
查看>>
LINUX内核调试相关--oops信息的…
查看>>
linux内核的oops信息
查看>>