拼接url - 华为OD机试题

2024-07-26 13:41:33 浏览数 (2)

题目描述

给定一个 url 前缀和 url 后缀, 通过 “,” 分割, 需要将其连接为一个完整的 url 。

如果前缀结尾和后缀开头都没有 /,需要自动补上 / 连接符;

如果前缀结尾和后缀开头都为 /,需要自动去重;

约束: 不用考虑前后缀 URL 不合法情况。

输入描述

url 前缀(一个长度小于 100 的字符串),url 后缀 (一个长度小于100 的字符串)

输出描述

拼接后的url

示例一

代码语言:javascript复制
输入:
acm,/bb

输出:
/acm/bb

示例二

代码语言:javascript复制
输入:
/abc,/bcd

输出:
/abc/bcd

示例三

代码语言:javascript复制
输入:
/acd,bef

输出:
/acd/bef

实例四

代码语言:javascript复制
输入:
,

输出:
/

java题解

题解

代码语言:javascript复制
字符串操作的问题,解法思路:

1、将 前缀 后多余的 / 去掉;

2、将 后缀 前多余的 / 去掉;

3、 连接输出结果。
代码语言:javascript复制
import java.util.Scanner;

/**
 * @author code5bug
 */

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String input = scanner.nextLine();

        String[] line = input.split(",");

        // 找到前缀中最后一个非 / 的位置,作为前缀的结束位置
        String prefix = line[0];
        int r = prefix.length();
        while (r > 0 && prefix.charAt(r - 1) == '/') {
            r--;
        }

        // 找到后缀中第一个非 / 的位置,作为后缀的开始位置
        String suffix = line[1];
        int l = 0;
        while (l < suffix.length() && suffix.charAt(l) == '/') {
            l  ;
        }

        // 拼接输出结果
        System.out.println(prefix.substring(0, r)   "/"   suffix.substring(l));
    }
}


0 人点赞