leetcode—字符串(easy) 3/9

1.罗马数字转整数

罗马数字包含以下七种字符及数值
I 1 V 5 X 10 L 50 C 100 D 500 M 1000
给定一个罗马数字,将其转换成整数

思路:字符串从左向右遍历 ,如果当前字符代表的值不小于右边,就加上该值,否则就减去该值。

2.最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,则返回空字符串“ ”。

思路:

  • 横向遍历:前两个字符串找公共子串,将其结果和第三个字符串找公共子串,直到最后一个串
  • 纵向遍历
string longestCommonPrefix(vector<string>& strs) {
        string res = "";
        if(strs.size() == 0)
        {
            return "";
        }
        for(int i = 0; i < strs[0].length(); i++)
        {
            for(int j = 0; j < strs.size(); j++)
            {
                if(i > strs[j].length())
                {
                    return res;
                }
                if(strs[j][i] != strs[0][i])
                {
                    return res;
                }
            }
            res += strs[0][i];
        }
        return res;
    }

猜你喜欢

转载自blog.csdn.net/qq_40769893/article/details/88371905
今日推荐