LeetCode Longest Common Prefix
2015-09-18 10:28
204 查看
原题链接在这里:https://leetcode.com/problems/longest-common-prefix/
strs中的第一个字符串从i = 0 开始,取char, 取出char后,用来比较其他所有字符串strs[j],若是此时index i 已经等于strs[j]字符串的长度 或者 strs[j]字符创相应位置 i 上的char不同,说明已经走不下去了,就地返回strs[0].substring(0,i).
最后走完了strs[0]跳出了外层loop, 就返回strs[0], 因为此时已经走完了strs[0]的长度了。
Time Complexity: O(m*n), m 是字符串的数量, m = strs.length, n是最短字符串的长度。
Space: O(1) 没有使用多余空间。
AC Java:
strs中的第一个字符串从i = 0 开始,取char, 取出char后,用来比较其他所有字符串strs[j],若是此时index i 已经等于strs[j]字符串的长度 或者 strs[j]字符创相应位置 i 上的char不同,说明已经走不下去了,就地返回strs[0].substring(0,i).
最后走完了strs[0]跳出了外层loop, 就返回strs[0], 因为此时已经走完了strs[0]的长度了。
Time Complexity: O(m*n), m 是字符串的数量, m = strs.length, n是最短字符串的长度。
Space: O(1) 没有使用多余空间。
AC Java:
public class Solution { public String longestCommonPrefix(String[] strs) { if(strs == null || strs.length == 0){ return ""; } for(int i = 0; i<strs[0].length(); i++){ for(int j = 1; j<strs.length; j++){ if(strs[j].length() == i || strs[j].charAt(i) != strs[0].charAt(i)){ return strs[0].substring(0,i); } } } return strs[0]; } }
相关文章推荐
- 3D Touch开发技巧的笔记
- Cordova开发速记
- I/O数据总线(1)
- 关于Xcode7的一些改变
- java实现获取验证码工具类
- 9月上旬国内网站流量统计TOP5:淘宝网险夺第三
- Linux下用tcpdump抓包,wireshark可视化
- 升级xcode7适配iOS9出现的一些错误
- windows上jdk改版本后,环境变量不生效
- Win7与Ubuntu双系统时卸载Ubuntu的方法
- spring MVC 数据的绑定 验证 转换---属性编辑器
- Android实现双屏异显
- javascript中的字符串数字比较大小的问题
- java 查看内存
- Windows下搭建git服务器,简洁版,服务器端msysgit加copssh,客户端msysgit(原创)
- CocoaPods安装
- BZOJ 1138 [POI2009]Baj 最短回文路 DP
- 简单的Android Log日志类
- 10个最受欢迎的Java类
- ios屏蔽EMOJI表情