zoukankan      html  css  js  c++  java
  • 力扣题解 14th 最长公共前缀

    14th 最长公共前缀

    • 暴力模拟/横向扫描

      根据题意模拟一遍运行过程即可:先求出第一个和第二个串的最长公共前缀,再以此前缀和第三个串求最长公共前缀… ...

      前缀也是一个串的字串,因此要善用string.substring()函数。

      class Solution {
          public String longestCommonPrefix(String[] strs) {
              if(strs == null || strs.length == 0) return "";
              int n = strs.length;
              String prefix = strs[0];
      
              for (int i = 1; i < n; i++) {
                  int j = 0;
                  while (j < Math.min(prefix.length(), strs[i].length()) && prefix.charAt(j) == strs[i].charAt(j)) {
                      j++;
                  }
                  prefix = prefix.substring(0, j);
      
                  if (prefix.length() == 0) break;
              }
      
              return prefix;
          }
      }
      
    • 暴力模拟/纵向扫描

      进行纵向模拟,外循环用来走进度条,内循环用来切换线程。

      class Solution {
          public String longestCommonPrefix(String[] strs) {
              if (strs == null || strs.length == 0) return "";
              String prefix = strs[0];
      
              for (int i = 0; i < prefix.length(); i++) {
      
                  for (int j = 1; j < strs.length; j++) {
                      if(i == strs[j].length() || strs[j].charAt(i) != prefix.charAt(i)) {
                          return prefix.substring(0, i);
                      }
                  }
              }
      
              return prefix;
          }
      }
      
  • 相关阅读:
    7. v-bind 绑定Class操作 【对象语法】
    7。 V-bind 绑定
    【离散化】
    【洛谷 1576】最小花费
    【洛谷 1078】文化之旅
    【POJ 2115】CLooooops
    【洛谷 1516】青蛙的约会
    【UOJ 270】电厂计划
    【UOJ 92】有向图的强联通分量
    【POJ 2186】Popular Cows
  • 原文地址:https://www.cnblogs.com/fromneptune/p/13258942.html
Copyright © 2011-2022 走看看