当前位置:网站首页>[leetcode] 20. Valid brackets
[leetcode] 20. Valid brackets
2022-07-07 23:48:00 【Xiaoqu classmate】
20、 Valid parenthesis
subject :
Given one only includes ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ String s , Determines whether the string is valid .
Valid string needs to meet :
Opening parentheses must be closed with closing parentheses of the same type .
The left parenthesis must be closed in the correct order .
Example 1:
Input :s = "()"
Output :true
Example 2:
Input :s = "()[]{}"
Output :true
Example 3:
Input :s = "(]"
Output :false
Example 4:
Input :s = "([)]"
Output :false
Example 5:
Input :s = "{[]}"
Output :true
Tips :
1 <= s.length <= 10^4
s Brackets only ‘()[]{}’ form
Their thinking :
- First, if the string can form valid parentheses , Then the length must be even
- We can iterate through strings , If the left bracket is encountered, it will be temporarily stored , Expect a closing parenthesis to match it
- If a closing bracket is encountered, check whether it matches the latest temporary bracket .
- This is consistent with the first in and last out characteristics of stack data structure . So we can prepare a stack to store bracket pairs
- When traversing a string , If you encounter an open bracket, put it on the stack , If the right bracket is encountered, judge whether the right bracket can match the top element of the stack , At the end of the loop, it is also necessary to determine whether the stack is empty , If it's not empty , Is not a string matching valid parentheses
Complexity analysis :
Time complexity :O(n), among n Is string s The length of .
Spatial complexity :O(n+∣Σ∣), among Σ Represents the character set , The string in this question only contains 6 Kind bracket ,∣Σ∣=6. The number of characters in the stack is O(n), The space used by the hash table is O(∣Σ∣), Add to get the total space complexity .
Specific code :
class Solution {
public boolean isValid(String s) {
int n = s.length();
if (n % 2 == 1) {
return false;
}
Map<Character, Character> pairs = new HashMap<Character, Character>() {
{
put(')', '(');
put(']', '[');
put('}', '{');
}};
Deque<Character> stack = new LinkedList<Character>();
for (int i = 0; i < n; i++) {
char ch = s.charAt(i);
if (pairs.containsKey(ch)) {
if (stack.isEmpty() || stack.peek() != pairs.get(ch)) {
return false;
}
stack.pop();
} else {
stack.push(ch);
}
}
return stack.isEmpty();
}
}

边栏推荐
- 平衡二叉树【AVL树】——插入、删除
- Chisel tutorial - 05 Sequential logic in chisel (including explicit multi clock, explicit synchronous reset and explicit asynchronous reset)
- 通达信买基金安全吗?
- postgres timestamp转人眼时间字符串或者毫秒值
- MySQL Architecture
- Balanced binary tree [AVL tree] - insert, delete
- May day C - most
- Anxinco EC series modules are connected to the multi protocol access products of onenet Internet of things open platform
- Postgres timestamp to human eye time string or millisecond value
- Aitm3.0005 smoke toxicity test
猜你喜欢

AITM3.0005 烟雾毒性测试

HB 5469 combustion test method for non-metallic materials in civil aircraft cabin

Learn about scratch

C - linear table

光流传感器初步测试:GL9306

FFA与ICGA造影
postgis学习
![[stm32+esp8266 connects to Tencent cloud IOT development platform 3] stm32+esp8266-01s dynamically registers devices on Tencent cloud (at instruction mode) -- with source code](/img/55/ab50ead2564498cb214d98ac5b9c3d.jpg)
[stm32+esp8266 connects to Tencent cloud IOT development platform 3] stm32+esp8266-01s dynamically registers devices on Tencent cloud (at instruction mode) -- with source code

关于CH32库函数与STM32库函数的区别

How did a fake offer steal $540million from "axie infinity"?
随机推荐
Class C design questions
Flash encryption process and implementation of esp32
[STM32 + esp-12s connect Tencent cloud IOT development platform 1] creation of cloud platform and burning of at firmware
P2141 [noip2014 popularization group] abacus mental arithmetic test
C method question 1
95.(cesium篇)cesium动态单体化-3D建筑物(楼栋)
数据库面试题+解析
Pycharm basic settings latest version 2022
[summary] some panels and videos seen
redis缓存工具类,值得拥有~
SAP HR reward and punishment information export
codeforces每日5题(均1500)-第八天
Rectification characteristics of fast recovery diode
Codeworks 5 questions per day (average 1500) - day 8
SAP HR social work experience 0023
Balanced binary tree [AVL tree] - insert, delete
Go time package common functions
ASP. Net core middleware request processing pipeline
企业应用需求导向开发之人力部门,员工考勤记录和实发工资业务程序案例
Chisel tutorial - 05 Sequential logic in chisel (including explicit multi clock, explicit synchronous reset and explicit asynchronous reset)