题解 | #最长公共前缀#

最长公共前缀

https://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47

import java.util.*;


public class Solution {
    /**
     *
     * @param strs string字符串一维数组
     * @return string字符串
     */
    public String longestCommonPrefix (String[] strs) {
        if (strs==null||strs.length==0) {
            return "";
        }
        // write code here
        if (strs.length == 1 ) {
            return strs[0];
        }
        StringBuffer sb = new StringBuffer();
        // 以charsZero为基准,一个个比较
        char[] charsZero = strs[0].toCharArray();
        for (int i = 0; i < charsZero.length; i++) {
            char compChar = charsZero[i];
            for (int j = 1; j < strs.length; j++) {
                // 有一个不相同或者长度不够 即返回最大公共
                if (strs[j].length() <= i || strs[j].charAt(i) != compChar) {
                    return sb.toString();
                }
            }
            // 每次全部相同,添加到sb
            sb.append(compChar);
        }

        return sb.toString();
    }
}

全部评论

相关推荐

白火同学:大二有这水平很牛了,可以适当对关键信息加粗一点,比如关键技术、性能指标之类的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务