当前位置: 首页 > news >正文

深圳企业网站建设公司哪家好镇江网站建设企业

深圳企业网站建设公司哪家好,镇江网站建设企业,美国疫情最新消息数据最新消息官网,常德网站建设设计原题地址:. - 力扣(LeetCode) 题目描述 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合…

原题地址:. - 力扣(LeetCode)

题目描述

给定一个只包括 '('')''{''}''['']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

示例 1:

输入:s = "()"

输出:true

示例 2:

输入:s = "()[]{}"

输出:true

示例 3:

输入:s = "(]"

输出:false

示例 4:

输入:s = "([])"

输出:true

提示:

  • 1 <= s.length <= 104
  • s 仅由括号 '()[]{}' 组成

解题思路

  • 输入检查:首先检查输入字符串是否为空或长度为零。如果是,则返回 true,表示有效。
  • 长度检查:如果字符串的长度小于等于 1 或者是奇数,直接返回 false,因为无法匹配成对的括号。
  • 使用栈:创建一个栈来存放左括号。遍历字符串中的每个字符:
    • 如果当前字符是左括号 ([ 或 {,将其压入栈中。
    • 如果当前字符是右括号 )] 或 },则检查栈是否为空:
      • 如果为空,说明没有左括号可以匹配,返回 false
      • 如果不为空,弹出栈顶元素并检查它是否与当前右括号匹配。如果不匹配,返回 false
  • 结束检查:遍历完成后,如果栈为空,说明所有的左括号都有对应的右括号,返回 true;否则返回 false

源码实现

class Solution {public boolean isValid(String s) {// 检查输入是否为空或长度为零if (s == null || s.length() == 0) {return true; // 空字符串被认为是有效的}// 检查长度是否小于等于1或为奇数if (s.length() <= 1 || s.length() % 2 != 0) {return false; // 不能成对匹配}// 创建一个栈来存放左括号Stack<Character> stack = new Stack<Character>();// 遍历字符串中的每个字符for (char c : s.toCharArray()) {// 如果是左括号,压入栈中if (c == '(' || c == '[' || c == '{') {stack.push(c);continue;}// 如果是右括号,检查栈是否为空if (stack.isEmpty()) {return false; // 没有对应的左括号}// 检查栈顶元素是否匹配if (c == ')' && stack.pop() != '(') {return false; // 不匹配} else if (c == ']' && stack.pop() != '[') {return false; // 不匹配} else if (c == '}' && stack.pop() != '{') {return false; // 不匹配}}// 如果栈为空,所有括号都匹配,返回true;否则返回falsereturn stack.isEmpty();}
}

复杂度分析

  • 时间复杂度:O(n),其中 n 是字符串的长度。我们只需遍历字符串一次,栈的入栈和出栈操作的时间复杂度为 O(1)。
  • 空间复杂度:O(n),在最坏的情况下,栈中可能会存放所有的左括号(例如字符串为 "((("),因此需要 O(n) 的空间。
http://www.yidumall.com/news/4681.html

相关文章:

  • 如何推广app更高效seo网站关键词优化报价
  • 做一的同志小说网站电商seo是什么意思
  • 西安做网站的公司哪家好市场推广方案ppt
  • 南通网站建设找哪家好买外链有用吗
  • 个人性质网站能做论坛吗编程培训机构
  • 国外汽车配件网站模板学生个人网页制作html
  • 视频网站怎么做外链网站收录入口
  • 荔湾网站制作广州网站营销优化qq
  • 网站服务器慢免费发广告网站
  • 贵阳免费网站建设俄罗斯搜索引擎
  • 锦州网站设计2023年8月疫情爆发
  • 资源整合深圳的seo网站排名优化
  • 建站之星网站代运营
  • 网站怎么做下载功能免费seo优化工具
  • 网页编程是什么沧州网站推广优化
  • 马大姐网站建设目的百度提交
  • 学做日本菜的网站好汕头网站建设公司
  • 微网站和网站同步像素谷歌paypal下载
  • 企业管理咨询公司招聘济南seo外贸网站建设
  • 个人网站介绍惠州seo关键字优化
  • 网站改版 影响google 404跳首页制作网站教学
  • 专做户外装备测评视频网站福建省人民政府
  • 网站建设技术大全好视通视频会议app下载安装
  • 网站服务器维护方案培训心得体会怎么写
  • 信用体系网站建设一体化建设关键词是怎么排名的
  • 资中移动网站建设2345网址大全下载到桌面
  • 建网站免费吗网店网络推广方案
  • 邢台做网站哪家便宜站长统计
  • 石家庄建设网百度竞价是seo还是sem
  • 东莞如何建设网站制作平台开源seo软件