美文网首页
算法分析 [反转] 2019-03-11

算法分析 [反转] 2019-03-11

作者: 哓晓的故事 | 来源:发表于2019-03-11 16:09 被阅读0次

1. 反转

541. 反转字符串(指定每隔k个值反转,再隔k个值不变,每次都是2k为范围) Reverse String II easy
法1. 时间复杂度O(n),空间复杂度O(n)
由于每次都是2k,有公式是 mod=x/2,如果mod%2==0,那么x%2的值需要反转,否则只需要对前k个值取反,后续的值不做调整
法2. 时间复杂度O(n),空间复杂度O(n)
不用公式,直接start取到结尾,每次判断是否达到最后只(自己尝试下)

557. 反转单词 Reverse Words in a String III
法1. 时间复杂度O(n),空间复杂度O(n)
每个空字符都进行一次双指针反转,最后一个单词没有空字符,要做一次收尾处理

345. 反转字符串中的元音字母 Reverse Vowels of a String easy
法1.双指针 时间复杂度O(n),空间复杂度O(1)
一个指针p从头开始,一个指针q从尾开始

7. 反转整形 Reverse Integer easy
法1. 时间复杂度O(n),空间复杂度O(1)
需要考虑越界问题

206. 反转单链表 Reverse Linked List easy
法1. 时间复杂度O(n),空间复杂度O(1)
使用头指针插入法,设置指针为h=null,每次将遍历到的指针插入到头指针前cur.next=h;h=cur;

92. 指定范围的反转单链表Reverse Linked List II medium
法1. 时间复杂度O(n),空间复杂度O(1)
双指针,当到达需要反转的位置,使用 slow 和 fast切换,slow永远不改变,永远指向结尾

            slow.next = fast.next;
            fast.next = pre.next;
            pre.next = fast;
            fast = slow.next;

相关文章

  • 算法分析 [反转] 2019-03-11

    1. 反转 541. 反转字符串(指定每隔k个值反转,再隔k个值不变,每次都是2k为范围) Reverse Str...

  • 单链表反转问题

    基本问题 如何将单链表反转? 单链表结构定义 算法实现 进阶问题 如何将单链表在指定区间内进行反转? 问题分析 这...

  • 每日算法(反转整数)-11.13

    今天下班时间比较晚,回来后只学习了一道算法,反转整数,下面开始记录题以及自己的分析。 反转整数 给定一个 32 位...

  • iOS面试之算法大全

    算法 算法内容如下: 字符串反转 链表反转 有序数组合并 Hash算法 查找两个子视图的共同父视图 求无序数组当中...

  • iOS面试之算法模块

    算法 算法内容如下: 字符串反转 链表反转 有序数组合并 Hash算法 查找两个子视图的共同父视图 求无序数组当中...

  • 数据结构 - 单向链表及相关算法

    单向链表 链表常见算法 链表反转

  • 反转算法

    话不多说,直接上代码 通过栈的方式 也可以通过数组或双向队列实现

  • [iOS面试]第11章 算法相关面试问题

    注意:本文主讲算法相关面试问题,包括字符串反转、链表反转、有序数组合并、Hash算法、查找两个子视图的共同父视图、...

  • 第一次

    ... 谈谈现在使用的项目的技术, retrofit 动态代理 怎么理解 注解 算法: 链表反转 m n 中间的反转

  • 算法-链表反转

    leecode 206链表反转:https://leetcode-cn.com/problems/reverse-...

网友评论

      本文标题:算法分析 [反转] 2019-03-11

      本文链接:https://www.haomeiwen.com/subject/mkdbpqtx.html