leetcode微软面试题20.Valid Parentheses

20. Valid Parentheses

Given a string containing just the characters '('')''{''}''[' and ']', determine if the input string is valid.

The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.

这是一道简单栈的问题,有这个问题也牵涉出了java中String的性能问题,其中String类型的操作

比起char类型的操作耗时还是挺明显的

第一种解法,操作String

public class Solution {
    public boolean isValid(String s) {
         Stack stack = new Stack();
		  if(s.length()%2!=0)
			  return false;
		  for(int i = 0;i
耗时:
leetcode微软面试题20.Valid Parentheses_第1张图片

第二种解法则是对char类型操作

  public boolean isValid(String s) {
          Stack stack = new Stack();
		  if(s.length()%2!=0)
			  return false;
		  for(int i = 0;i
耗时明显减少

leetcode微软面试题20.Valid Parentheses_第2张图片

以后使用java的时候尽量避开一些耗时操作

你可能感兴趣的:(acm,leetcode,一般练习)