每日一练46——Java排序和星号(8kyu)

2018-07-11  本文已影响0人  砾桫_Yvan

题目

您将获得一个字符串。您必须按字母顺序排序(区分大小写!!)然后返回第一个值。

返回的值必须是一个字符串,并且"***"在每个字母之间。

您不应该从数组中删除或添加元素。

测试用例:

import org.junit.Test;
import static org.junit.Assert.assertEquals;
import org.junit.runners.JUnit4;

public class SolutionTest {
 
    @Test
    public void testFixed() {
        assertEquals("b***i***t***c***o***i***n", SortAndStar.twoSort(new String[] {"bitcoin", "take", "over", "the", "world", "maybe", "who", "knows", "perhaps"}));
        assertEquals("a***r***e", SortAndStar.twoSort(new String[] {"turns", "out", "random", "test", "cases", "are", "easier", "than", "writing", "out", "basic", "ones"}));
    }
}

解题

我的:

import java.util.Arrays;

public class SortAndStar {

    public static String twoSort(String[] s) {
        Arrays.sort(s);
        char[] arrs = s[0].toCharArray();
        StringBuilder sb = new StringBuilder();
        for (char arr : arrs) {
            sb.append(arr).append("***");
        }
        return sb.substring(0,sb.length()-3);
    }
}

别人的:

public class SortAndStar {

    public static String twoSort(String[] s) {
        java.util.Arrays.sort(s);
        return String.join("***",s[0].split(""));
    }
}

后记

一直没想起来这个join方法在哪里。

上一篇 下一篇

猜你喜欢

热点阅读