Comments (1)
解题思路
- 判断字符串的长度如果为奇数直接返回false
- 如果为偶数,则分别以成对扩号的左半部分为键,右半部分为值创建一个对象
- 把字符串转换成数组,并定义一个临时数组 result=[]
- 遍历数组如果临时数组的最后一项存在且等于当前项,则临时数组做出栈pop操作,否则把当前项的map值push放进数组
- 如果最终临时数组的长度大于零(说明部分括号不符合成对规则)返回false
- 如果临时数组长度为零 返回true
* @param {string} s
* @return {boolean}
*/
var isValid = function(s) {
let len=s.length,result=[];
if(len%2!==0){
return false
}else{
const map={
'{':'}',
'(':')',
'[':']'
}
s=s.split('')
for(let i=0;i<len;i++){
let length=result.length
if(result[length-1] && result[length-1]==s[i]){
result.pop()
}else{
result.push(map[s[i]])
}
}
}
if(result.length>0){
return false
}
return true
};
from interviewsummary.
Related Issues (20)
- 防抖的作用是什么?请实现一个防抖函数 HOT 1
- 使用 JavaScript Proxy 实现简单的数据绑定
- 介绍下 BFC、IFC、GFC 和 FFC
- 移动端 Retina 屏幕 1px 边框问题 HOT 1
- opacity: 0、visibility: hidden、display: none 优劣和适用场景
- 请设计一个懒人类,具有吃、喝、睡功能,具体信息请看以下描述! HOT 1
- 以下代码输出结果是什么,并解释原因? HOT 1
- 介绍 HTTPS 握手过程中,客户端如何验证证书的合法性
- 介绍 HTTPS 握手过程
- Virtual DOM 真的比操作原生 DOM 快吗?谈谈你的想法。
- 请把俩个数组['A1', 'A2', 'B1', 'B2', 'C1', 'C2', 'D1', 'D2'] 和['A', 'B', 'C', 'D'],合并为 ['A1', 'A2', 'A', 'B1', 'B2', 'B', 'C1', 'C2', 'C', 'D1', 'D2', 'D'] HOT 2
- 介绍下 Set、Map、WeakSet 和 WeakMap 的区别? HOT 3
- Webpack
- 你的git工作流是怎样的?
- rebase 与 merge的区别?
- git reset、git revert 和 git checkout 有什么区别
- babel原理 HOT 2
- 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)
- 有5L的桶和3L的桶,如何拿到4L的水
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from interviewsummary.