国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

LeetCode: Longest Common Prefix 解題報告

2019-11-14 21:56:55
字體:
來源:轉載
供稿:網友
LeetCode: Longest Common PRefix 解題報告

Longest Common Prefix Total Accepted: 24665 Total Submissions: 92370

My Submissions

Question

Solution

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

Show Tags

Have you met this question in a real interview? Yes No

Discuss

SOULTION1:

解法就是掃一次。不過各種邊界條件很容易出錯。

 1 public class Solution { 2     public String longestCommonPrefix(String[] strs) { 3         if (strs == null) { 4             return null; 5         } 6          7         if (strs.length == 0 || strs[0].length() == 0) { 8             return ""; 9         }10         11         int len = strs[0].length();12         int i = 0;13         for (; i < len; i++) {14             char c = strs[0].charAt(i);15             16             int j = 1;17             for (; j < strs.length; j++) {18                 if (strs[j].length() <= i || c != strs[j].charAt(i)) {19                     break;20                 }21             }22             23             // there is err.24             if (j < strs.length) {25                 break;26             }27         }28         29         // The char i is invalid. 因為讀到i時退出,所以不應包含i本身。30         return strs[0].substring(0, i);31     }32 }
View Code

SOULTION2:

感謝大神的靈感http://blog.csdn.net/fightforyourdream/article/details/14642079

重新改寫:

 1 public class Solution { 2     //http://blog.csdn.net/fightforyourdream/article/details/14642079 3     public String longestCommonPrefix(String[] strs) { 4         if (strs == null) { 5             return null; 6         } 7          8         if (strs.length == 0) { 9             return "";10         }11         12         String s = strs[0];13         int len = s.length();14         15         for (int i = 0; i < len; i++) {16             char c = s.charAt(i);17             18             for (int j = 1; j < strs.length; j++) {19                 if (strs[j].length() <= i || c != strs[j].charAt(i)) {20                     // The char i is invalid. 因為讀到i時退出,所以不應包含i本身。21                     return s.substring(0, i);22                 }23             }24         }25         26         // Didn't break, the whole String is valid.27         return s;28     }29 }
View Code

請Floow主頁君的GitHUB:

https://github.com/yuzhangcmu/LeetCode_algorithm/blob/master/string/LongestCommonPrefix.java


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鸡泽县| 汾西县| 芜湖市| 日土县| 英山县| 岐山县| 博兴县| 乐亭县| 遂昌县| 嘉定区| 当阳市| 乌鲁木齐市| 合水县| 崇州市| 天门市| 丰镇市| 高雄县| 电白县| 龙井市| 新竹市| 监利县| 绿春县| 松原市| 禹州市| 巴青县| 宁南县| 铁力市| 汕尾市| 宁陕县| 甘洛县| 雷州市| 贵港市| 上犹县| 万年县| 双峰县| 嘉荫县| 如皋市| 灌阳县| 盐池县| 丰台区| 阿拉善右旗|