題目
題目描述:
給定一個url前綴和url后綴,通過,分割。需要將其連接為一個完整的url。
如果前綴結尾和后綴開頭都沒有/,需要自動補上/連接符
如果前綴結尾和后綴開頭都為/,需要自動去重
約束:不用考慮前后綴URL不合法情況
輸入描述:
url前綴(一個長度小于100的字符串)
url后綴(一個長度小于100的字符串)
輸出描述:
拼接后的url
示例1:
輸入
/acm,/bb
輸出
/acm/bb
示例2:
輸入
/abc/,/bcd
輸出
/abc/bcd
示例3:
輸入
/acd,bef
輸出
/acd/bef
示例4:
輸入
,
輸出
/
思路
字符串處理題目,送分題。根據示例4來看,前后綴可能為空。
比如以下兩組示例:
/test/, ==》應該輸出/test
,hi ==>應該輸出/hi
上面兩組數據,在經過str.split(“,”)后,第一個數據分割后的數組arr只有1個長度,而第二個分割后有兩個長度,所以取前綴時可以直接取arr[0],取后綴時則需要根據數組長度判斷。
在拼接字符串時,只需要將前綴末尾和后綴開始的/均去掉,然后使用/將前后綴拼接在一起即可
考慮前后綴可能為空的情況,前綴為空無影響,后綴為空,則輸出前綴即可(末尾不再加/)
題解
package hwod;import java.util.Scanner;public class ConcactUrl {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String[] arrs = sc.nextLine().split(",");System.out.println(concatUrl(arrs));}private static String concatUrl(String[] arrs) {if (arrs.length == 0) return "/";String prefix = arrs[0];String suffix = arrs.length > 1 ? arrs[1] : "";if (prefix.length()!=0&&prefix.charAt(prefix.length() - 1) == '/') prefix = prefix.substring(0, prefix.length() - 1);if (suffix.length()!=0&&suffix.charAt(0) == '/') suffix = suffix.substring(1);if(suffix.isEmpty()) return prefix;return prefix + "/" + suffix;}
}
推薦
如果你對本系列的其他題目感興趣,可以參考華為OD機試真題及題解(JAVA),查看當前專欄更新的所有題目。