美文网首页
原地旋转链表

原地旋转链表

作者: SK_Wang | 来源:发表于2020-04-09 17:16 被阅读0次

设计一个算法,将链表中所有节点的链接方向"原地旋转",即要求仅仅利用原表的存储空间. 换句话说,要求算法空间复杂度为O(1);

要求:

  • 算法空间复杂度为O(1)

示例:

输入:0->2->4->6->8->10
输出:10->8->6->4->2->0

解题思路:

要求算法空间复杂度为O(1),即不能开辟新的空间,只能考虑改变指针指向,参考前插法的思想。

复杂度分析:

  • 空间复杂度 O(1)

代码:

typedef struct Node{
    int data;
    struct Node *next;
} Node;
typedef struct Node * LinkList;

void Inverse(LinkList *L) {
    LinkList p, temp;
    p = (*L)->next;
    (*L)->next = NULL;
    while (p) {
        temp = p->next;
        p->next = (*L)->next;
        (*L)->next = p;
        p = temp;
    }
}

相关文章

  • 原地旋转链表

    设计一个算法,将链表中所有节点的链接方向"原地旋转",即要求仅仅利用原表的存储空间. 换句话说,要求算法空间复杂度...

  • 【算法题】3.反转链表

    设计一个算法,将链表中所有节点的链接⽅向"原地旋转",即要求仅利⽤原表的存储空间。 题目大意: 反转链表,要求不使...

  • leetcode 链表 [C语言]

    21. 合并两个有序链表 合并两个有序链表 61. 旋转链表 (快慢指针) 61. 旋转链表 相关标签 : 链表 ...

  • 原地旋转

    一切没有如自己所想,顺利前进着 一切没有如别人一样,正常前进着 我的一切还在原地旋转着,似乎有在变但其实一切如原样...

  • 链表--旋转链表

    目录[https://www.jianshu.com/p/85e18c21317a] 题号[https://lee...

  • 61. 旋转链表

    61. 旋转链表 问题 给定一个链表,旋转链表,将链表每个节点向右移动 个位置,其中 是非负数。 示例 1: 输...

  • Swift - LeetCode - 旋转链表

    题目 旋转链表 问题: 给定一个链表,旋转链表,将链表每个节点向右移动k个位置,其中k是非负数。 示例: 代码:

  • [LeetCode]61. 旋转链表

    61. 旋转链表给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例:输入: 1-...

  • 旋转链表

    给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入: 1->2->...

  • 旋转链表

    旋转链表 1.想法: 首先我们可以不每次都找到最后一个元素然后将它作为头结点,即我们得知k后,就可以知道最终的形式...

网友评论

      本文标题:原地旋转链表

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