当前位置: 首页 > news >正文

【华为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),查看当前专栏更新的所有题目。

http://www.lryc.cn/news/253784.html

相关文章:

  • 【Unity动画】为一个动画片段添加事件Events
  • CoDeF视频处理——视频风格转化部署使用与源码解析
  • ubuntu server 20.04 备份和恢复 系统 LTS
  • NFC对物联网开发的影响及用途
  • 企业级SQL开发:如何审核发布到生产环境的SQL性能
  • linux 手动安装移植 haveged,解决随机数初始化慢的问题
  • 如何使用llm 制作多模态
  • k8s(二):Pod
  • Python 字典详解(dict)
  • IPoIB在国产并行系统上的实现与优化
  • 东南大学与OpenHarmony携手共建开源生态,技术俱乐部揭牌成立并迎来TSC专家进校园
  • NPU、CPU、GPU算力及算力计算方式
  • 华清远见嵌入式学习——C++——作业6
  • k8s安装学习环境
  • RepidJson将内容写入文件简单代码示例
  • golang构建docker镜像的几种方式
  • golang使用sip协议 用户名和密码注册到vos3000
  • 第4章 互联网
  • 【JavaWeb】前端工程化(VUE3)
  • JAVA基础知识:异常处理
  • PostGIS学习教程十:空间索引
  • LeetCode 13 罗马数字转整数
  • 【动态规划】LeetCode2111:使数组 K 递增的最少操作次数
  • SpringCloud面试题——Nacos
  • leetcode:统计感冒序列的数目【数学题:组合数含逆元模版】
  • 外贸建站平台工具推荐?做海洋建站的平台?
  • 【智能家居】三、添加语音识别模块的串口读取功能点
  • 物联网开发(一)新版Onenet 基础配置
  • qt/c/c++文件操作总结
  • 表示你的shell未被正确配置以使用conda activate--换成清华源anaconda