当前位置:   article > 正文

leetcode | java | 第14题 | 最长公共前缀_最长公共前缀java 最优解

最长公共前缀java 最优解

最长公共前缀

java

解决思路

  1. n 为 strs 的长度,ans 为 0(结果的长度),i 为 0(正在遍历的公共位置),m 为 strs[0] 的长度,end 为是否找到不同的前缀(初始为 false)
  2. 当 i<m 且 !end,一直循环。ch 为 strs[0] 的第 i 个字符。j 从 1 遍历到 n-1,当越界或值不等,end 设为 true,break。否则遍历结束,如果 !end,ans++。i++
  3. return strs[0].substring(0,ans)
  4. 题解思路:(1)横向扫描(2)纵向扫描(3)分治(4)二分查找

相关问题

  1. 只能说 java 真的好多要求,我老是忘记括号和分号(先 go 后 java 就是这么不适应)
  1. class Solution {
  2. public String longestCommonPrefix(String[] strs) {
  3. int n = strs.length;
  4. int ans = 0;
  5. int i = 0;
  6. int m = strs[0].length();
  7. boolean end = false;
  8. while (i<m&&!end) {
  9. char ch =strs[0].charAt(i);
  10. for (int j=1;j<n;j++) {
  11. if (i>=strs[j].length()||strs[j].charAt(i)!=ch) {
  12. end=true;
  13. break;
  14. }
  15. }
  16. if (!end) {
  17. ans++;
  18. }
  19. i++;
  20. }
  21. return strs[0].substring(0,ans);
  22. }
  23. }

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号