Write a function to find the longest common prefix string amongst an array of strings.
Solution 1:
比较每个字符串的第一个字符,然后第二个。。。。出现不同的字符的话,马上返回结果,如果所有字符串的第i个字符都相等,则把这个字符append到结果上去。
public String longestCommonPrefix(String[] strs) { if(strs == null || strs.length<1) return ""; StringBuilder sb = new StringBuilder(); for(int i=0; i<strs[0].length(); i++) { char ch = strs[0].charAt(i); for(int j=1; j<strs.length; j++) { if(i>=strs[j].length() || ch != strs[j].charAt(i)) { return sb.toString(); } } sb.append(ch); } return sb.toString(); }
重构了下代码:
public String longestCommonPrefix(String[] strs) { if(strs.length == 0) return ""; StringBuilder sb = new StringBuilder(strs[0]); for(int i=0; i<sb.length(); i++) { for(int j=1; j<strs.length; j++) { if(i >= strs[j].length() || strs[0].charAt(i) != strs[j].charAt(i)) { return sb.substring(0, i); } } } return sb.toString(); }
Solution 2:
public String longestCommonPrefix(String[] strs) { if(strs == null || strs.length<1) return ""; String prefix = strs[0]; int end = prefix.length(); for(String s:strs) { end = Math.min(end, s.length()); while(!s.startsWith(prefix.substring(0, end))) { end--; if(end <= 0) return ""; } } return prefix.substring(0, end); }
相关推荐
c语言入门 C语言_leetcode题解之14-longest-common-prefix.c
js js_leetcode题解之14-longest-common-prefix.js
c c语言_leetcode 0014_longest_common_prefix.zip
java入门 java_leetcode题解之014_Longest_Common_Prefix
LeetCode Longest Common Prefix解决方案 该解决方案旨在解决LeetCode平台上的一道编程题目,即Longest Common Prefix(最长公共前缀),该问题要求在一个字符串数组中找到最长的公共前缀字符串。如果没有公共前缀...
14-longest-common-prefix 17 cargo run --bin 17-letter-combinations-of-a-phone-number 20 cargo run --bin 20-valid-parentheses 21 cargo run --bin 21-merge-two-sorted-lists 27 cargo run --bin 27-remove-...
第 338 章力码 LeetCode刷题总结 1.Two Sum ...14.Longest Common Prefix (Trie树待完成) 15.3Sum 16.3Sum Closest 17.Letter Combinations of a Phone Number 18.4Sum 19.Remove Nth Node From End
Longest Common Prefix 运行时间:40 毫秒内存使用:13.9 MB 20. Valid Parentheses 运行时间:40 毫秒内存使用:13.8 MB 22. Generate Parentheses 运行时间:164 毫秒内存使用:22.5 MB 26. Remove Duplicates ...
leetcode 答案programming-language-learning Javacript 复习基本DOM操作 ...解easy14 Longest Common Prefix 记得要判断strsSize = 0 && 1 的情况即可刚刚一直没判断会出现segment fault Python PHP Java
判断链表是否为回文链表 leetcode Leetcode-解决方案 Leetcode问题的思考和解决方案 #Reverse Integer & Palindrome Number ...#longest common prefix 最长的公共前缀长度不会超过列表中最短的字符
leetcode ...Prefix 015 3Sum 016 3Sum Closest 017 Letter Combinations of a Phone Number 018 4Sum 020 Valid Parentheses 022 Generate Parentheses 028 Implement strStr() 031 Next Permutat
leetcode卡 LeetCode LeetCode题解 目录 字符串问题 ID Title C++ 难度 ...Common Prefix :star: 0038 Count and Say :star: 0043 Multiply Strings :star: :star: 大数相乘 0044 Wild Card Matchi
2. 题目文件:每个文件对应一个LeetCode题目,文件名可能是题目的ID或者题目名称,如"001_two_sum.py"或"14_longest_common_prefix.cpp"。 3. README.md:通常会包含项目简介、如何运行测试、贡献指南等信息。 4. ...
longest common prefix , 简单 valid number, hard, 用有限自动机 integer to roman ,easy , 模拟 roman to integer ,easy , 模拟 count and say , easy , 模拟 Anagrams 字符串处理,map Simplify Path,字符串处理,...
Common Prefix 最长公共前缀 20 Valid Parentheses 有效的括号 26 Remove Duplicates from Sorted Array 删除排序数组中的重复项 32 Longest Valid Parentheses 最长有效括号 33 Search in Rotated Sorted Array ...
在LeetCode上,每道题目都有一个唯一的ID和标题,例如“两数之和”(Two Sum)或“最长公共前缀”(Longest Common Prefix)。解答这些题目时,首先要理解题意,明确输入和输出的格式,然后选择合适的算法或数据结构...
在LeetCode上,每个问题都有一个特定的ID和标题,例如"两数之和"(Two Sum)、"最长公共前缀"(Longest Common Prefix)等。通过文件名"CodeExercise-master",我们可以猜测这可能是一个GitHub仓库的主分支,通常...
- Longest Common Prefix: 找出一个字符串数组中所有字符串的最长公共前缀。 - 3Sum / 3Sum Closest / 4Sum: 这些题目都涉及到在数组中寻找具有特定和的数字组合,这通常需要用到双指针技术。 - Remove Nth Node ...
14、longest Common Prefix 思路1:把每个位置上对应的字符放在set([])里,如果长度为1就加在res上,否则break ps:可以通过**startswith()**判断字符串是否以某几个字符开头 思路2:没天理之os.path.commonprefix...
在LeetCode上,每个问题都有一个特定的编号和标题,例如 "两数之和"(Two Sum)、"最长公共前缀"(Longest Common Prefix)等。解题通常涉及以下知识点: 1. **基础算法**:包括排序(快速排序、归并排序、冒泡排序...