3.1 错就错在对自己太好了

2019-03-11  本文已影响0人  反复练习的阿离很笨吧

https://leetcode-cn.com/problems/roman-to-integer/

class Solution {
    public int romanToInt(String s) {
        int[] numbers=new int[s.length()];
        for(int i=0;i<s.length();i++)
        {
            if(s.charAt(i)=='I')
                numbers[i]=1;
            if(s.charAt(i)=='V')
                numbers[i]=5;
            if(s.charAt(i)=='X')
                numbers[i]=10;
            if(s.charAt(i)=='L')
                numbers[i]=50;
            if(s.charAt(i)=='C')
                numbers[i]=100;
            if(s.charAt(i)=='D')
                numbers[i]=500;
            if(s.charAt(i)=='M')
                numbers[i]=1000;            
        }
        int sum=0;
        for(int i=0;i<s.length()-1;i++)
        {
            if(numbers[i]<numbers[i+1])
                numbers[i]=-numbers[i];
            sum+=numbers[i];
        }
        return sum+numbers[s.length()-1];
    }
}
  1. 这里要比较字符串的i和i+1位,所以循环要怎么处理才能不越界?
    感觉自己还是写的有点繁琐啊。
  2. 数组的length就没有(),字符串的length()就要有括号?
    length是属性,一般用来说明数组的长度。
    length()是方法,针对字符串String说的,用来求数组中某个元素的字符串长度。
  3. .charAt()的使用。

https://leetcode-cn.com/problems/longest-common-prefix/

class Solution {
    public String longestCommonPrefix(String[] strs) {
        Integer minlength=Integer.MAX_VALUE;
        if(strs == null || strs.length== 0)
            return "";
        for(int i=0;i<strs.length;i++)
        {
            if(strs[i].length()<minlength)
                minlength=strs[i].length();
        }
        int i=0;
        here:
        for(i=0;i<minlength;i++)
        {
            char c=strs[0].charAt(i);
            for(int j=1;j<strs.length;j++)
            {
                if(strs[j].charAt(i)!=c)
                    break here;
            }
        }
        return strs[0].substring(0,i);
    }
}
  1. 跳出多重循环的方法。
    注意,这里here:要紧挨着for循环,之前here:后是int i=0,就报错'.class' expected,查不到是啥意思,还好我机制。
  2. .substring的使用。
  3. 如何判断一个数组或者字符串是否为空
  4. 数组为null和数组为空的区别:https://blog.csdn.net/weixin_40807247/article/details/83065773
上一篇下一篇

猜你喜欢

热点阅读