美文网首页
3.1 错就错在对自己太好了

3.1 错就错在对自己太好了

作者: 反复练习的阿离很笨吧 | 来源:发表于2019-03-11 21:35 被阅读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

    相关文章

      网友评论

          本文标题:3.1 错就错在对自己太好了

          本文链接:https://www.haomeiwen.com/subject/khdipqtx.html