【华为OD题库-075】拼接URL-Java

题目

题目描述:
给定一个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),查看当前专栏更新的所有题目。

说明

本专栏所有文章均为原创,欢迎转载,请注明文章出处:https://blog.csdn.net/qq_31076523/article/details/134176793。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

  • 23
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
拼接URL是指将不同的字符串或资源路径组合成一个完整的URL链接。在华为OD机试中,可能会遇到需要进行URL拼接的问题。 URL拼接通常需要注意以下几个方面: 首先,要确保URL的格式正确。一个标准的URL由协议、主机名、路径和查询参数组成。其中协议通常是http或https,主机名是指要访问的服务器域名或IP地址,路径是指资源在服务器上的位置,查询参数是附加在URL末尾以便传递给服务器的数据。 其次,要注意字符串拼接的顺序和格式。根据需求,可以使用字符串拼接函数或操作符将各个部分连接起来。在拼接过程中,要注意添加适当的分隔符,如斜杠“/”或问号“?”等,以确保拼接后的URL格式正确。 另外,还需要注意转义特殊字符。如果URL中包含特殊字符,如空格、中文或特殊符号等,需要进行URL编码。这可以通过使用URL编码函数或库来实现。编码可以确保URL在传输过程中不会出现问题,并且服务器能够正确解析URL中的特殊字符。 最后,要进行URL合法性检查。在拼接URL之前,可以对输入的字符串进行一些合法性验证。这可以包括检查字符串是否为空、是否包含非法字符或其他错误。 综上所述,拼接URL是在华为OD机试中可能出现的问题之一。在处理此类问题时,需要注意URL格式的正确性、字符串拼接顺序和格式、特殊字符的转义以及URL的合法性检查等方面。通过合理使用字符串拼接函数和URL编码函数,可以有效地完成URL拼接任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值