leetcode 面试题 01.03. URL化

这篇具有很好参考价值的文章主要介绍了leetcode 面试题 01.03. URL化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

⭐️ 题目描述

leetcode 面试题 01.03. URL化,刷题,leetcode,学习,刷题


🌟 leetcode链接:面试题 01.03. URL化

思路: 计算出空格的个数,我们可以知道最后一个字符的位置 endPos,再从后 end 向前遍历若不是空格正常拷贝,是空格则替换成 %20,最终当空格替换完成的时候,endPosend 两个下标会相遇。

代码:文章来源地址https://www.toymoban.com/news/detail-618576.html

char* replaceSpaces(char* S, int length) {
    // 计算空格个数
    int count = 0;
    for (int i = length - 1; i >= 0; i--) {
        if (S[i] == ' ') 
            count++;
    }

    // 计算最后一个字符的最终位置
    int endPos = length - count + count * 3;
    S[endPos--] = 0;
    // 最后一个字符当前位置
    int end = length - 1;
    while (endPos != end) {
        if (S[end] != ' ') {
            S[endPos--] = S[end--];
        }
        else {
            S[endPos--] = '0';
            S[endPos--] = '2';
            S[endPos--] = '%';
            end--;
        }
    }

    return S;
}

到了这里,关于leetcode 面试题 01.03. URL化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LeetCode 面试题 02.03. 删除中间节点

      若链表中的某个节点,既不是链表头节点,也不是链表尾节点,则称其为该链表的「中间节点」。 假定已知链表的某一个中间节点,请实现一种算法,将该节点从链表中删除。   例如,传入节点 c (位于单向链表 a-b-c-d-e-f 中),将其删除后,剩余链表为 a-b-d-e-f   

    2024年02月11日
    浏览(42)
  • LeetCode 面试题 03.04. 化栈为队

      实现一个MyQueue类,该类用两个栈来实现一个队列。   点击此处跳转题目。 示例: MyQueue queue = new MyQueue(); queue.push(1); queue.push(2); queue.peek(); // 返回 1 queue.pop(); // 返回 1 queue.empty(); // 返回 false 说明: 你只能使用标准的栈操作 – 也就是只有 push to top , peek/pop from top , s

    2024年02月09日
    浏览(39)
  • LeetCode 面试题 03.02. 栈的最小值

      请设计一个栈,除了常规栈支持的 pop 与 push 函数以外,还支持 min 函数,该函数返回栈元素中的最小值。执行 push 、 pop 和 min 操作的时间复杂度必须为 O(1) 。   点击此处跳转题目。 示例: MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack

    2024年02月10日
    浏览(37)
  • LeetCode 面试题 01.01. 判定字符是否唯一

      实现一个算法,确定一个字符串 s 的所有字符是否全都不同,点击此处跳转。 示例 1: 输入: s = “leetcode” 输出: false 示例 2: 输入: s = “abc” 输出: true 限制: 0 = len(s) = 100 s[i] 仅包含小写字母 如果你不使用额外的数据结构,会很加分。   使用数组记录出现次数,时

    2024年02月12日
    浏览(36)
  • Leetcode面试经典150题刷题记录 —— 矩阵篇

    Leetcod面试经典150题刷题记录-系列 Leetcod面试经典150题刷题记录——数组 / 字符串篇 Leetcod面试经典150题刷题记录 —— 双指针篇 本篇 Leetcod面试经典150题刷题记录 —— 矩阵篇 Leetcod面试经典150题刷题记录 —— 滑动窗口篇 Leetcod面试经典150题刷题记录 —— 哈希表篇 Leetcod面试

    2024年01月16日
    浏览(72)
  • Leetcode面试经典150题刷题记录 —— 数学篇

    Leetcode面试经典150题刷题记录-系列 Leetcod面试经典150题刷题记录——数组 / 字符串篇 Leetcod面试经典150题刷题记录 —— 双指针篇 Leetcod面试经典150题刷题记录 —— 矩阵篇 Leetcod面试经典150题刷题记录 —— 滑动窗口篇 Leetcod面试经典150题刷题记录 —— 哈希表篇 Leetcod面试经典

    2024年01月21日
    浏览(70)
  • Leetcod面试经典150题刷题记录 —— 矩阵篇

    Leetcod面试经典150题刷题记录-系列 Leetcod面试经典150题刷题记录——数组 / 字符串篇 Leetcod面试经典150题刷题记录 —— 双指针篇 本篇 Leetcod面试经典150题刷题记录 —— 矩阵篇 Leetcod面试经典150题刷题记录 —— 滑动窗口篇 Leetcod面试经典150题刷题记录 —— 哈希表篇 Leetcod面试

    2024年02月03日
    浏览(43)
  • nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化

    需要在终端重新执行一次node app.js浏览器的内容才会刷新 4.如何获取url中的参数 ============================================================================ 4.1 URL类基础 建议大家可以先看看Node.js API文档中的url 网址部分,这里做简要说明。url字符串在nodejs的url模块,有两种解析API,其中旧版的

    2024年04月11日
    浏览(46)
  • LeetCode 面试题 01.07. 旋转矩阵

      给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。   不占用额外内存空间能否做到?   点击此处跳转题目。 示例 1: 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入矩阵,使其变为: [ [7,4,1], [8,5,2], [9,6,3] ] 示

    2024年02月11日
    浏览(53)
  • LeetCode 面试题 01.08. 零矩阵

      编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。   点击此处跳转题目。 示例 1: 输入: [ [1,1,1], [1,0,1], [1,1,1] ] 输出: [ [1,0,1], [0,0,0], [1,0,1] ] 示例 2: 输入: [ [0,1,2,0], [3,4,5,2], [1,3,1,5] ] 输出: [ [0,0,0,0], [0,4,5,0], [0,3,1,0] ]   此题有很多方法解,

    2024年02月11日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包