LeetCode14 最长公共前缀
生活随笔
收集整理的這篇文章主要介紹了
LeetCode14 最长公共前缀
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
leetcode 14 最長公共前綴
編寫一個函數來查找字符串數組中的最長公共前綴。
如果不存在公共前綴,返回空字符串 “”。
示例 1:
輸入:strs = [“flower”,“flow”,“flight”]
輸出:“fl”
示例 2:
輸入:strs = [“dog”,“racecar”,“car”]
輸出:""
解釋:輸入不存在公共前綴。
文章目錄
- leetcode 14 最長公共前綴
- 一、方法一,兩兩單詞比較(橫向比較)
- 二、方法二,每個字符進行比較(縱向比較)
一、方法一,兩兩單詞比較(橫向比較)
方法一:可以兩兩單詞進行比較,找出兩兩單詞的公共前綴,再拿得出的公共前綴和第三個單詞進行比較,在得出公共前綴。
//兩兩單詞進行比較 public String longestCommonPrefix(String[] strs) {//設置第一個單詞為默認公共前綴String commonPrefix=strs[0];//從第二個單詞開始比較for(int i=1;i<strs.length;i++){//獲取當前單詞String next=strs[i];int j=0;for(;j<commonPrefix.length()&& j<next.length();j++){if(commonPrefix.charAt(j)!=next.charAt(j)){break;}}commonPrefix=commonPrefix.substring(0,j);} return commonPrefix; }二、方法二,每個字符進行比較(縱向比較)
方法二:可以拿出第一個單詞中的第一個字符和其余字符串中的第一個字符進行比較,如果相同,拿出第下一個字符和其余字符串的第二個字符進行比較,以此類推。如果不同,則返回之前掃描過的字符組成的字符串。
public String longestCommonPrefix(String[] strs){//遍歷第一個單詞中的每個字符for(int i=0;i<strs[0].length();i++){//得到當前字符char cur=strs[0].charAt(i);//從第二個單詞開始遍歷for(int j=1;j<strs.length;j++){//獲取當前單詞String next=strs[j];if(i<next.length() && next.charAt(i)==cur){//如果字符相同,則繼續循環continue;}else{//當前字符不同,則直接返回strs[0]的[0,i)中的字符,//因為[0,i-1]的字符之前已經掃描過,確保是公共前綴。return strs[0].substring(0,i);}}}//說明第一個單詞為公共前綴,或者字符串數組里的字符串都是相同的。return strs[0];} 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的LeetCode14 最长公共前缀的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 树结构之树和二叉树的概念以及如何用面向对
- 下一篇: 1、计算机网络之计算机之间的连接方式