题目
您将获得一个字符串。您必须按字母顺序排序(区分大小写!!)然后返回第一个值。
返回的值必须是一个字符串,并且"***"
在每个字母之间。
您不应该从数组中删除或添加元素。
测试用例:
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方法在哪里。
网友评论