题解 | #牛族寻找祖先#

牛族寻找祖先

https://www.nowcoder.com/practice/eea77a55616f4961801796c7d36369db

  1. 题目考察的知识点

字符串,双指针

  1. 题目解答方法的文字分析

当数组names的长度为0,返回"",长度为1时返回nams[0]。其他情况则遍历数组names,用公共前缀s和names中每一个字符串比较,找出公共前缀再赋值给s,最后再返回s.

  1. 本题解析所用的编程语言

java

  1. 完整且正确的编程代码
import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param names string字符串一维数组 
     * @return string字符串
     */
    public String findAncestor (String[] names) {
        if(names.length==0){
            return "";
        }else if(names.length==1){
            return names[0];
        }
        String s = names[0];
        for(int i=1;i<names.length;i++){
            int p=0;
            StringBuilder sb = new StringBuilder();
            for(int j=0;j<names[i].length();j++){
                if(p<s.length()&&s.charAt(p++)==names[i].charAt(j)){
                   sb.append(names[i].charAt(j));
                }else{
                    break;
                }
            }
            s=sb.toString();
        }
        return s;
    }
}
全部评论

相关推荐

粗心的雪碧不放弃:纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞 评论 收藏
分享
11-06 10:58
已编辑
门头沟学院 嵌入式工程师
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务