public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return int整型
     */
    public int StrToInt (String s) {
        // write code here
        if(s == null ){
            return 0;
        }
        s = s.trim();
        if(s.length() == 0){
            return 0;
        }
        int i = 0;
        if(s.charAt(i) == '-' || s.charAt(i) == '+'){
            boolean flag = false;
            if(s.charAt(i) == '-'){
                flag = true;
            }
            i++;
            if(i == s.length()){
                return 0 ;
            }
            if(s.charAt(i) >= '0' && s.charAt(i) <= '9'){
                long sum = 0;
                int j = i;
                while(j < s.length() && s.charAt(j) >= '0' && s.charAt(j) <= '9'){
                    sum  = sum * 10 + (s.charAt(j) - '0');
                    if(flag){
                        long x = -1 * sum;
                        if(x < Integer.MIN_VALUE){
                            return Integer.MIN_VALUE;
                        }
                    }else{
                        if(sum >Integer.MAX_VALUE){
                            return Integer.MAX_VALUE;
                        }
                    }
                    j++;
                }
                return flag ? -1 * (int)sum :(int)sum;
            }
            
        }else if(s.charAt(i) >= '0' && s.charAt(i) <= '9'){
                long sum = 0;
                int j = i;
                while(j <s.length() && s.charAt(j) >= '0' && s.charAt(j) <= '9'){
                    sum = sum*10 +  (s.charAt(j) - '0');
                    if(sum > Integer.MAX_VALUE){
                        return Integer.MAX_VALUE;
                    }
                    j++;
                }
                return (int)sum;
            }
        return 0;
    }
}