ChatGPT刷力扣面试题 01.03. URL化

题目描述
URL化 。编写一种方法 , 将字符串中的空格全部替换为%20 。假定该字符串尾部有足够的空间存放新增字符 , 并且知道字符串的“真实”长度 。(注:用Java实现的话 , 请使用字符数组实现 , 以便直接在数组上操作 。)示例 1:输入:"Mr John Smith", 13输出:"Mr%20John%20Smith"示例 2:输入:"", 5输出:"%20%20%20%20%20"提示:字符串长度在 [0, 500000] 范围内 。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/string-to-url-lcci著作权归领扣网络所有 。商业转载请联系官方授权 , 非商业转载请注明出处 。
开始解题()
逐步验算
吸收学习

ChatGPT刷力扣面试题 01.03. URL化

文章插图
吸收学习一下示例代码中的slice函数和函数
slice函数
中的slice()函数用于截取数组或字符串的一部分 , 并返回一个新的数组或字符串 。slice()函数接受两个参数:起始索引和结束索引(可选) 。起始索引表示截取的起始位置(包含该位置的元素) , 结束索引表示截取的结束位置(不包含该位置的元素) 。
语法:
示例:
对于数组:
var array = [1, 2, 3, 4, 5]; var= array.slice(1, 4); .log();// 输出:[2, 3, 4]对于字符串:
【ChatGPT刷力扣面试题 01.03. URL化】var= "Hello, world!"; var= .slice(7, 12); .log();// 输出:"world"
注意事项:
需要注意的是 , 数组和字符串的截取操作有一些细微的差异 。在字符串中 , slice()函数会返回一个新的字符串 , 而在数组中 , slice()函数会返回一个新的数组 。
()函数
在中 , 可以使用内置的()函数来对URL进行编码 。该函数用于将URL中的特殊字符转换为它们的编码表示 , 以便在URL中安全使用 。编码后的URL可以通过()函数进行解码 。
语法:
encodeURIComponent(uri)
示例:
var url = "https://www.example.com/?name=John Smith";var encodedURL = encodeURIComponent(url);console.log(encodedURL); // 输出:"https%3A%2F%2Fwww.example.com%2F%3Fname%3DJohn%20Smith"
在上述示例中 , ()函数将URL中的特殊字符进行了编码 , 包括冒号、斜杠和问号等 。编码后的URL可以作为参数传递给其他函数或用于构建完整的URL 。
需要注意的是 , ()函数对所有非字母数字字符进行编码 , 包括一些保留字符(如冒号、斜杠、问号、等号)和特殊字符(如空格、引号、尖括号等) 。这意味着编码后的URL可能会比原始URL长 。而对于整个URL的编码 , 可以使用()函数 。