【华为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个长度,而第二个分割后有两个长度,所以取前缀时可以直接取arr0,取后缀时则需要根据数组长度判断。

在拼接字符串时,只需要将前缀末尾和后缀开始的/均去掉,然后使用/将前后缀拼接在一起即可

考虑前后缀可能为空的情况,前缀为空无影响,后缀为空,则输出前缀即可(末尾不再加/)

题解

java 复制代码
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),查看当前专栏更新的所有题目。

相关推荐
小江的记录本13 小时前
【JVM虚拟机】垃圾回收GC:垃圾判定算法:引用计数法、可达性分析算法(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·算法·spring·面试
彦楠13 小时前
指定Tomcat运行的JDK地址
java·开发语言·tomcat
Byron__13 小时前
JVM垃圾回收与调优核心面试笔记(引用计数/GC算法/CMS/G1/参数调优)
java·jvm·笔记·面试
XiYang-DING13 小时前
【Spring】 SpringBoot 配置文件
java·spring boot·spring
那小子、真烦13 小时前
Hermes Agent Chat 方法分析
java·开发语言
01_ice13 小时前
Java抽象类和接口
java·开发语言
小马爱打代码14 小时前
Spring源码 第七篇:Spring Boot 自动配置原理深度拆解
java·spring boot·spring
日取其半万世不竭14 小时前
给 Docker 容器设置 CPU 和内存限制,避免单个服务拖垮整机
java·docker·容器
铁皮哥14 小时前
【agent 开发】Claude Code 的 Skill 是怎么被加载的?从 name/description 到 SKILL.md 再到资源文件
java·服务器·数据库·python·gitee·github·软件工程
白宇横流学长14 小时前
基于SpringBoot实现的校园失物招领平台设计与实现【源码+文档】
java·spring boot·后端