首页 > 试题广场 >

合法的括号字符串

[编程题]合法的括号字符串
  • 热度指数:11988 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个字符串s,字符串s只包含以下三种字符: (,*,),请你判断 s是不是一个合法的括号字符串。合法括号字符串有如下规则:
1.左括号'('必须有对应的右括号')'
2.右括号')'必须有对应的左括号'('
3.左括号必须在对应的右括号前面
4.*可以视为单个左括号,也可以视为单个右括号,或者视为一个空字符
5.空字符串也视为合法的括号字符串

数据范围:

示例1

输入

"()()"

输出

true
示例2

输入

"((*)"

输出

true
示例3

输入

"(*)"

输出

true
示例4

输入

"(((*)"

输出

false
头像 xqxls
发表于 2022-01-16 18:25:45
题意整理 给定一个字符串s,字符串s只包含三种字符: '(','*',')'。 判断s是不是一个合法的括号字符串。 合法的条件是:每一个左括号必须有一个右括号与之匹配,每一个右括号必须有一个左括号与之匹配。匹配的左括号必须在右括号前面。'*'号可以视为左括号、可以视为右括号、也可以视为空字符。空字 展开全文
头像 不会做题的小菜鸡
发表于 2022-02-08 14:27:03
题目分析 题目给出一个字符串,其组成字符种类只包含(,),*三种 对于该括号字符串,*可以任意表示三种含义的一种,即左括号,右括号,空字符三种含义任一皆可 题目要求我们判断是否该字符串是一个合法的左右括号关系正确的字符串,也就是说出现一个左括号必须在其右侧有对应的右括号,其中星号可以根据情况任意 展开全文
头像 代码界的小白
发表于 2022-02-19 20:40:20
题目主要信息 给定一个字符串s,字符串s只包含以下三种字符: (,*,),请你判断 s是不是一个合法的括号字符串。合法括号字符串有如下规则: 1.左括号'('必须有对应的右括号')' 2.右括号')'必须有对应的左括号'(' 3.左括号必须在对应的右括号前面 4.*可以视为单个左括号,也可以视为单个 展开全文
头像 陆姜啊
发表于 2022-03-27 14:49:56
代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 @param s string字符串 @return bool布尔型 这是根据其中一个C的改写的代码 即:从左往右遍历,把星号视为左括号,在遍历的过程中如果出现左括号数量比右括号少,表示该字符串不合法,返回false; 从 展开全文
头像 呆喵挠琴
发表于 2022-03-02 18:39:27
题目的主要信息: 给定一个字符串s,字符串s只包含以下三种字符: (,*,),请你判断 s是不是一个合法的括号字符串。合法括号字符串有如下规则: 左括号'('必须有对应的右括号')' 右括号')'必须有对应的左括号'(' 左括号必须在对应的右括号前面 *可以视为单个左括号,也可以视为单个右括号,或 展开全文
头像 皮皮灰灰辉
发表于 2022-03-22 19:47:11
C语言本身没有bool,用int替换一下即可,然后两次遍历即可,下面代码还可以有很多优化,不要栈,直接计数即可 /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return bool布尔型 展开全文
头像 太阳hxy
发表于 2023-08-29 10:30:13
import java.util.*; public class Solution { public boolean isValidString (String s) { //创建两个linkedList(是基于双向链表实现的),new LinkedList<> 展开全文
头像 牛客685302461号
发表于 2022-05-01 22:27:18
package main import ( "math" ) /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return bool布尔型 */ func isValidString(s 展开全文
头像 阿克塞尔
发表于 2024-02-04 22:19:28
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @retu 展开全文
头像 牛客马MAXEY
发表于 2023-10-17 17:39:55
注意区别于多种括号([{}]):题解28 | 知否知否,应是栈空字走#有效括号序列# class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s 展开全文