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

news/2024/7/20 19:07:30 标签: 华为od, 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],取后缀时则需要根据数组长度判断。
在这里插入图片描述
在拼接字符串时,只需要将前缀末尾和后缀开始的/均去掉,然后使用/将前后缀拼接在一起即可
考虑前后缀可能为空的情况,前缀为空无影响,后缀为空,则输出前缀即可(末尾不再加/)

题解

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


http://www.niftyadmin.cn/n/5244163.html

相关文章

jquery实现省市区三级联动

一、技术: 前端采用的是jsp页面 后端采用springmvc+mybatis+mysql8 效果图 二、cascadeSelect.jsp页面 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%String path = request.getContextPath();String basePath = r…

【HTML语法】

HTML语法 1. HTML语法1.1 HTML编辑器1.2 HTML模板1.3 标签示例1.4 常见的HTML标签1.51.61.71.81.91.101.11 学习网站&#xff1a;https://www.runoob.com/html/html-tutorial.html 1. HTML语法 HTML&#xff08;全称 Hypertext Markup Language&#xff0c;超文本标记语言&…

dialog打开时重新渲染

在 Vue 中打开 dialog 常用的方法是使用 el-dialog 控件。当 dialog 打开时&#xff0c;常常需要重新渲染对应的内容。这个功能可以通过监听 visible 属性实现。 具体实现方法如下&#xff1a; 在 el-dialog 控件上监听 visible 属性 <template><el-dialog :visibl…

景联文科技:高质量垂直领域数据集助力AI技术突破

随着人工智能技术的飞速发展&#xff0c;垂直领域数据集在提升模型性能、解决领域问题、推动创新应用以及提升竞争力等方面的重要性日益凸显。 提高模型性能&#xff1a;垂直领域数据集专注于特定任务或领域&#xff0c;使用这些数据集进行训练可以让模型更好地理解和解决特定领…

计算机图形图像技术(OpenCV核心功能、图像变换与图像平滑处理)

一、实验原理&#xff1a; 1、显示图像 void imshow(const string &name, InputArray image); ①功能&#xff1a;在指定窗口中显示图像。 ②参数&#xff1a;name为窗口的名字&#xff1b;image为待显示的图像。 ③说明&#xff1a;可显示彩色或灰度的字节图像和浮点数图…

「Verilog学习笔记」根据状态转移写状态机-二段式

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 和三段式相比&#xff0c;就是将输出块和次态切换块合并。 timescale 1ns/1nsmodule fsm2(input wire clk ,input wire rst ,input wire data ,output reg flag );//****…

配置ARP安全综合功能示例

组网需求 如图1所示&#xff0c;Switch作为网关通过接口GE0/0/3连接一台服务器&#xff0c;通过接口GE0/0/1、GE0/0/2连接VLAN10和VLAN20下的四个用户。网络中存在以下ARP威胁&#xff1a; 攻击者向Switch发送伪造的ARP报文、伪造的免费ARP报文进行ARP欺骗攻击&#xff0c;恶…

记录 | linux手动清理 buff/cache

linux下手动清理 buff/cache 切换到 root 权限 # 这个drop_caches文件可以设置的值分别为1、2、3 echo 1 > /proc/sys/vm/drop_caches # 表示清除pagecache echo 2 > /proc/sys/vm/drop_caches # 表示清除回收slab分配器中的对象&#xff08;包括目录项缓存和inode缓…