JavaScript Fun Question: Paired Parentheses
Feb 15, 2017 pm 02:14 PMLet’s take a look at some examples first, so that we can quickly understand what “in pairs” means.
validParentheses( "()" ) // => returns true
A left parenthesis and a right parenthesis, just like a pair.
The following one forms two pairs:
validParentheses( "(())" ) // => returns true
Let’s take a more complicated one, which is called N pair:
validParentheses( "(())((()())())" ) // => returns true
The following brackets cannot be called "in pairs", they can only be said "in single form":
validParentheses( "(" ) // => returns false
In this example, two pairs are formed , but there are two right brackets alone:
validParentheses( ")(()))" ) // => returns false
Okay, after listening to my introduction, let’s take a look at the task:
Write a validParentheses The function accepts a string composed of brackets and returns true if the brackets are "in pairs", otherwise it returns false.
All input strings are non-empty and have only left and right brackets.
Idea:
Since it is "in pairs", let's do a "one-to-one offset" approach.
First prepare an empty stack, push it into the stack when it encounters a left bracket, spit out a "left bracket" when it encounters a right bracket, and the two offset each other.
Wait until all characters have been processed and determine the status of the stack. If the stack is empty, it means that all the brackets are offset, that is, "in pairs".
The code is as follows:
function validParentheses(parens){ var stack = []; for(var i=0;i<parens.length;i++){ var current = parens.charAt(i); switch(current){ case "(": stack.push(current); break; case ")": var ele = stack.pop(); if(ele === void 0){ return false; } break; } } return stack.length == 0; }
The above is an interesting JavaScript question: the content of pairs of brackets, more For more related content, please pay attention to the PHP Chinese website (www.php.cn)!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Replace String Characters in JavaScript

Custom Google Search API Setup Tutorial

8 Stunning jQuery Page Layout Plugins
