leetcode之top100_01_twoSsum/top100_20_ValidParentheses

top100第一题,是给定一个整型数组,然后给定一个target,让你求数组中两个数的和为target,然后然后返回这两数的下标索引。

import java.util.HashMap;
import java.util.Map;


public class top100_01_twoSsum {
	
	public static int[] twoSum(int [] nums,int target){
		//最简单的方法,循环判断,通过了
		int a=0;
		int b=0;
		for ( int i=0;i map=new HashMap();
		for (int i=0;i


top100第20题ValidParentheses

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.

import java.util.Stack;


public class top100_20_ValidParentheses {
	
	//这个题目就像求解表达式题目一样
	//利用栈去求解,当遇到左部分时,把其对应的右部分都压入栈,当遇到右部分的时候,判断是否和栈顶元素一样,是则继续,不是则False
	
	public static boolean isValid(String s) {
		Stack stack = new Stack<>();
		for (char c : s.toCharArray()){
			if(c=='(')
				stack.push(')');
			else if (c=='[') {
				stack.push(']');
			}
			else if (c=='{') {
				stack.push('}');
				
			}
			else {
				if (stack.isEmpty()||c!=stack.pop())//这里要先判断栈是否为空
					return false;
			}
		}
		
		if (stack.isEmpty())
			return true;
		return false;
	}
}



你可能感兴趣的:(Java/leetcode)