Level 7kyu :Two to One 取2個字元串s1,s2僅包含從a到的字母z。 返回一個新的排序字元串,最長的字元串,包含不同的字母, 每個僅取一次-來自s1或s2。 主要方法: toCharArray()->字元串轉字元數組 arraycopy(from,0,to,0,長度)->複製數 ...
Level 7kyu :Two to One
取2個字元串s1
,s2
僅包含從a
到的字母z
。
返回一個新的排序字元串,最長的字元串,包含不同的字母,
- 每個僅取一次-來自s1或s2。
主要方法:
toCharArray()->字元串轉字元數組
arraycopy(from,0,to,0,長度)->複製數組
Arrays.sort()->對數組元素進行排序
1 import java.util.Arrays; 2 public class TwoToOne { 3 public static String longest (String s1, String s2) { 4 // your code 5 //把兩個字元串拼接成一個字元串 6 String s=s1+s2; 7 char[] a=s.toCharArray();//字元串轉字元數組 8 char[] temp = new char[a.length]; 9 int index=0;//臨時數組下標索引 10 for(int i=0;i<a.length;i++){ 11 boolean flag=true;//是否重覆的標誌 12 for(int j=i+1;j<a.length;j++){ 13 if(a[i]==a[j]){ 14 flag=false; 15 break; 16 } 17 } 18 if(flag){ 19 temp[index]=a[i];//後面沒有發現重覆元素就賦值給臨時數組 20 index++; 21 } 22 } 23 char[] newArr = new char[index]; 24 System.arraycopy(temp, 0, newArr, 0, index);//複製臨時到新數組 25 Arrays.sort(newArr);//引用排序函數 26 String total=""; 27 for(int i=0;i<newArr.length;i++){ 28 total+=newArr[i];//每個元素以字元串結果相加 29 } 30 return total; 31 } 32 }