题解 | #最长公共前缀#

最长公共前缀

https://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47

class Solution {
public:
    /**
     * 
     * @param strs string字符串vector 
     * @return string字符串
     */
    string longestCommonPrefix(vector<string>& strs) {
        // write code here
        //处理空数组
        int n=strs.size();
        if(n==0) return "";
        //遍历第一个字符串
        for(int i=0;i<strs[0].length();i++){
            char temp=strs[0][i];
            for(int j=1;j<n;j++){
                if(i==strs[j].length()||temp!=strs[j][i])
                    return strs[0].substr(0,i);
            }
        }
        return strs[0];
    }
};

strs[0].length()strs[0].size() 都是返回字符串 strs[0] 的长度,都可以用来判断一个字符串的长度。

实际上,它们在大多数情况下是等价的,因为 C++ 标准库中的 string 类型本来就是基于标准库中的 STL 容器实现的,而 STL 中的容器也是通过 size() 方法来获取元素个数的。因此,string 类型中的 size() 方法本质上等同于 length() 方法。

但是需要注意的是,在某些 STL 容器中,例如 vector,它们的size() 方法和length() 方法确实有所不同。size() 返回的是元素的个数,而length() 返回的是容器内存储的字符个数。这里“字符”指的是字符型数据类型,包括 char、wchar_t 等。

而由于 string 类型本身就是字符型数据类型char组成的,它不存在这种 size() 方法和 length() 方法差异的问题。如果使用string类型实例化的容器,可尽情使用size() 或者 length() 进行长度判断。

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-19 14:46
和女友两个人马上毕业,现在我在鹅实习995,周六日偶尔也去北京;她在北京金融007,经常忙到后半夜,周末也没啥休息机会两个人现在都不咋聊天了,一句话隔半小时甚至半天才回。&nbsp;她是个很优秀的妹子,工作也很努力,是值得学习一辈子的人。我在努力工作求转正,即便不行至少赚到了一段不错的实习经历。已经异地了半年,接下来可能还会持续是这个状态。我们都算是对方重要的人,只是感觉看上去不是很有未来的样子。希望牛友们给点的鼓励
梦旅奇缘:很难。异地首先就已经很难了,加上妹子是金融行业,忙碌高压,对情感需求很高,而且见惯纸醉金迷,你的很多优势在她那里可能就不算什么了。这种情况下,在她们那里遇到一个能及时照顾她的人,即使那人可能很多条件不如你,你也有可能被分手。 说白了,两个卷王就不太适合在一起。因为卷王最大的优势,在另一个卷王那里就不算优势了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务