14. Longest Common Prefix LeetCode题解

来源:互联网 发布:radius 软件 windows 编辑:程序博客网 时间:2024/06/05 13:42

Write a function to find the longest common prefix string amongst an array of strings.

Subscribe to see which companies asked this question.


题意:

写一个函数用来寻找字符串数组的最长公共前缀。


题解:

从字符串第一个字符开始,比较是否数组内所有字符串该在位置的字符相同;

也可以将整个字符数组排序,寻找第一个和最后一个字符串的公共前缀即可;


Code【Java】

public class Solution {    public String longestCommonPrefix(String[] strs) {        // 初始化返回值        String prefix = "";        if (strs.length == 0) {            return prefix;        }        // 将字符串数组排序,只需比较第一个和最后一个        Arrays.sort(strs);        String a = strs[0];        String b = strs[strs.length - 1];        // 比较过程        for (int i = 0; i < a.length() && i < b.length(); ++i) {            if (a.charAt(i) == b.charAt(i)) {                prefix += a.charAt(i);            } else {                return prefix;            }        }        return prefix;    }}


Code【C++】

class Solution {public:    string longestCommonPrefix(vector<string>& strs) {        // 初始化返回值        string prefix = "";        if (strs.size() == 0) {            return prefix;        }        // 将字符串数组排序,只需比较第一个和最后一个        sort(strs.begin(), strs.end());        string a = strs[0];        string b = strs[strs.size() - 1];        // 比较过程        for (int i = 0; i < a.size() && i < b.size(); ++i) {            if (a[i] == b[i]) {                prefix += a[i];            } else {                return prefix;            }        }        return prefix;    }};


原创粉丝点击