我自己的思路是这样的:
把最短的那个字符串找出来--->用该字符串(整串)和其他比较看是否被作为前缀否则截取该字符串后进行比较
代码如下:
提交了之后看了瓶子君的整理感觉更好,以下是搬运,感谢瓶子君(作者:user7746o
链接:https://leetcode-cn.com/problems/longest-common-prefix/solution/tu-jie-leetcodezui-chang-gong-gong-qian-zhui-lcp-b/
)
解法一:逐个比较
解题思路: 从前往后一次比较字符串,获取公共前缀
画图帮助理解一下:
解法二:仅需最大、最小字符串的最长公共前缀(这里的最小最大是指让字符串先进行比较)
解题思路: 获取数组中的最大值及最小值字符串,最小字符串与最大字符串的最长公共前缀也为其他字符串的公共前缀,即为字符串数组的最长公共前缀
例如 abc 、 abcd 、ab 、ac ,最小 ab 与最大 ac 的最长公共前缀一定也是 abc 、 abcd 的公共前缀
画图帮助理解一下: