LeetCode-Easy部分中标签为String 14. Longest Common Prefix
来源:互联网 发布:可编程控制器 单片机 编辑:程序博客网 时间:2024/05/23 16:26
原题
Write a function to find the longest common prefix string amongst an array of strings.
举例:
"abab","aba","" 返回""
"abab","aba" 返回"aba"
代码分析
求各个字符串的最大公共前缀。先求出前2个最大公共前缀 cstr,然后拿它在之后字符依次比较,有一个不是,则丢弃 cstr 的最后一个字符。
实现代码
public string LongestCommonPrefix(string[] strs) { if(strs==null || strs.Length==0) return ""; if (strs.Length == 1) return strs[0]; string longestPrefix = firstTwoStrs(strs); if (longestPrefix.Length == 0) return ""; int i=2; while(i < strs.Length) { if (strs[i].IndexOf(longestPrefix) != 0) { longestPrefix = longestPrefix.Substring(0, longestPrefix.Length - 1); i = 1; if (longestPrefix.Length == 0) return ""; } i++; } return longestPrefix; } //头两个字符串的公共串 private string firstTwoStrs(string[] strs) { if (strs.Length < 2) return ""; StringBuilder sb = new StringBuilder(); int len = strs[0].Length < strs[1].Length ? strs[0].Length : strs[1].Length; for(int i=0;i<len;i++) { if (strs[0][i] == strs[1][i]) sb.Append(strs[0][i]); else break; } return sb.ToString(); }
更多string题目
http://blog.csdn.net/daigualu/article/details/69566863
2 0
- LeetCode-Easy部分中标签为String 14. Longest Common Prefix
- LeetCode-Easy部分中标签为String的所有题目
- LeetCode-Easy部分中标签为String 20. Valid Parentheses
- LeetCode-Easy部分中标签为String 520. Detect Capital
- LeetCode-Easy部分中标签为String 383. Ransom Note
- LeetCode-Easy部分中标签为String 434. Number of Segments in a String
- LeetCode-Easy部分中标签为Two Pointers 345. Reverse Vowels of a String
- LeetCode-Easy部分中标签为String 58. Length of Last Word
- LeetCode-Easy部分中标签为String 459. Repeated Substring Pattern
- LeetCode-Easy部分中标签为HashTable的所有题目
- LeetCode-Easy部分中标签为LinkedList的所有题目
- LeetCode-Easy部分中标签为Math的所有题目
- LeetCode-Easy部分中标签为Math 268. Missing Number
- LeetCode-Easy部分中标签为Math 507. Perfect Number
- Leetcode 14. Longest Common Prefix (Easy) (cpp)
- LeetCode 14. Longest Common Prefix (easy)
- Leetcode[Easy] - Longest Common Prefix
- LeetCode-14-Longest Common Prefix(Number/Vector/String)-Easy
- Android Things物联网开发--外围I/O接口之UART(七)
- poj 1284 Primitive Roots
- Win10与Ubuntu16.04双系统的那些事
- 语录
- java基础学习(八)接口
- LeetCode-Easy部分中标签为String 14. Longest Common Prefix
- Android 使用接口回掉实现线程间数据传递
- Java并发编程之线程池的理解与使用
- 梯度下降法
- struts文件下载
- (一)数据结构基础
- IDUtils
- From Word Embeddings To Document Distances
- 自定义UISearchBar的背景颜色、文本框等信息