日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode14 最长公共前缀

發(fā)布時(shí)間:2025/3/19 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode14 最长公共前缀 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

leetcode 14 最長公共前綴

編寫一個(gè)函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。
如果不存在公共前綴,返回空字符串 “”。

示例 1:
輸入:strs = [“flower”,“flow”,“flight”]
輸出:“fl”

示例 2:
輸入:strs = [“dog”,“racecar”,“car”]
輸出:""
解釋:輸入不存在公共前綴。

文章目錄

  • leetcode 14 最長公共前綴
  • 一、方法一,兩兩單詞比較(橫向比較)
  • 二、方法二,每個(gè)字符進(jìn)行比較(縱向比較)

一、方法一,兩兩單詞比較(橫向比較)

方法一:可以兩兩單詞進(jìn)行比較,找出兩兩單詞的公共前綴,再拿得出的公共前綴和第三個(gè)單詞進(jìn)行比較,在得出公共前綴。

//兩兩單詞進(jìn)行比較 public String longestCommonPrefix(String[] strs) {//設(shè)置第一個(gè)單詞為默認(rèn)公共前綴String commonPrefix=strs[0];//從第二個(gè)單詞開始比較for(int i=1;i<strs.length;i++){//獲取當(dāng)前單詞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; }

二、方法二,每個(gè)字符進(jìn)行比較(縱向比較)

方法二:可以拿出第一個(gè)單詞中的第一個(gè)字符和其余字符串中的第一個(gè)字符進(jìn)行比較,如果相同,拿出第下一個(gè)字符和其余字符串的第二個(gè)字符進(jìn)行比較,以此類推。如果不同,則返回之前掃描過的字符組成的字符串。

public String longestCommonPrefix(String[] strs){//遍歷第一個(gè)單詞中的每個(gè)字符for(int i=0;i<strs[0].length();i++){//得到當(dāng)前字符char cur=strs[0].charAt(i);//從第二個(gè)單詞開始遍歷for(int j=1;j<strs.length;j++){//獲取當(dāng)前單詞String next=strs[j];if(i<next.length() && next.charAt(i)==cur){//如果字符相同,則繼續(xù)循環(huán)continue;}else{//當(dāng)前字符不同,則直接返回strs[0]的[0,i)中的字符,//因?yàn)閇0,i-1]的字符之前已經(jīng)掃描過,確保是公共前綴。return strs[0].substring(0,i);}}}//說明第一個(gè)單詞為公共前綴,或者字符串?dāng)?shù)組里的字符串都是相同的。return strs[0];} 與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的LeetCode14 最长公共前缀的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。