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 }
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/186217.html
標籤:Java
