Leetcode原题
思路
这题,很简单,我们只要利用栈来操作,为( 就将)放入栈,为[就将 ]入栈。为 { 就将} 入栈。然后如果是按照顺序入栈的,我们就可以出栈比较。如果最后比较不相同,或者栈不为空,那么说明字符串不有效
public boolean isValid(String s) { Deque<Character> stack = new LinkedList<Character>(); for (char c: s.toCharArray()) { if (c=='{'){ stack.push('}');; } else if (c=='('){ stack.push(')'); }else if (c=='['){ stack.push(']'); }else if (stack.isEmpty() || stack.pop()!= c){ return false; } } return stack.isEmpty(); }
有兴趣的老爷,还可以关注我的公众号【一起收破烂】,回复【006】获取 最新java面试资料以及简历模型120套哦~