题目链接
https://pintia.cn/problem-sets/994805342720868352/problems/994805346776760320
题解
题目要求
给1个有n(不超过1e5)个结点的单向链表和数字k(不超过1e3),链表的值属于[-1e5,1e5]要求将链表改为(或输出):负数结点出现在正数结点之前,值属于[0,k]的结点出现在值大于k的结点之前,其余不变##
注意点
- PAT中的这种链表适合用数组形式的链表
- PAT里的链表和LeetCode里的链表(LeetCode里的链表是基于指针的)不太一样,因此操作也要适当调整
- 不一定要修改链表结构,能按要求输出就可以
思路
用数组表示链表,然后遍历将链表里的结点分成3类(小于0的、0到k的、大于k的)并存入3个数组,然后按顺序遍历3个数组并输出
代码
1 | // Problem: PAT Advanced 1133 |
作者:@臭咸鱼
转载请注明出处:https://www.cnblogs.com/chouxianyu/
欢迎讨论和交流!