当前位置: 首页 > news >正文

分割链表题解

提供三种思路:

1.再原链表上进行修改,定义一个指针pcur指向头结点。当pcur指向的节点的值小于x,pcur直接往后走,如果pcur指向的节点的值大于x,删除pcur指向的节点,并将这个节点尾插到链表后面

2.创建一个新链表,遍历原链表,若pcur节点的值小于x,头插在新链表中;若pcur节点的值大于或等于x,尾插在新链表中

3.创建新链表:小链表和大链表;小链表存放的都是小于x的节点,大链表存放的都是大于x的节点,然后让小链表的尾结点和大链表的第一个节点相连。

代码如下:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
typedef struct ListNode LSTNode;//重命名方便使用
struct ListNode* partition(struct ListNode* head, int x) {if(head==NULL)//判断链表是否为空{return head;}//链表不为空://创建小链表和大链表LSTNode *lesshead,*lesstail;//小链表的头和尾LSTNode *greaterhead,*greatertail;//大链表的头和尾lesshead=lesstail=(LSTNode*)malloc(sizeof(LSTNode));//给节点申请空间greaterhead=greatertail=(LSTNode*)malloc(sizeof(LSTNode));//给节点申请空间//遍历原链表,将原链表的节点尾插到大小链表中LSTNode *pcur=head;while(pcur){if(pcur->val<x)//给定值小于x{//尾插到小链表lesstail->next=pcur;lesstail=lesstail->next;}else{//尾插到大链表中greatertail->next=pcur;greatertail=greatertail->next;}pcur=pcur->next;//pcur往后移动}greatertail->next=NULL;//大链表尾结点要指向NULL,防止死循环lesstail->next=greaterhead->next;LSTNode *ret=lesshead->next;free(lesshead);free(greaterhead);lesshead=greaterhead=NULL;return ret;
}

http://www.xdnf.cn/news/236161.html

相关文章:

  • 2025年“深圳杯”数学建模挑战赛A题-芯片热弹性物理参数估计
  • 记一次 MyBatis 缓存引发的问题
  • 高级测试工程师 的面试题汇总
  • 实验-单总线温度采集与显示(汇编语言与接口技术)
  • 视觉问答大模型速递:Skywork-R1V2-38B
  • 【人工智能】深入探索Python中的自然语言理解:实现实体识别系统
  • 第二部分:赤色的世界
  • 提高设计的综合性能
  • ESP32开发之freeRTOS的信号量
  • 免费在Colab运行Qwen3-0.6B——轻量高性能实战
  • Learning vtkjs之ImplicitBoolean
  • Java大师成长计划之第8天:Java线程基础
  • 树状结构转换工具类
  • 沙箱逃逸-通过题解了解沙箱逃逸
  • Flow Matching 是什么?
  • 如何做表征对齐?
  • Kettle下载安装教程
  • C# 异步详解
  • 探索MySQL InnoDB:事务、日志与锁的奥秘
  • 从实列中学习linux shell5: 利用shell 脚本 检测硬盘空间容量,当使用量达到80%的时候 发送邮件
  • MCP 自定义python实现server服务,支持离线调用和远程接口访问形式
  • 【IP101】图像处理基础:从零开始学习颜色操作(RGB、灰度化、二值化、HSV变换)
  • Kaamel白皮书:OpenAI 在安全方向的实践
  • Vulkan 学习(16)---- 使用 VertexBuffer
  • Python魔法函数深度解析
  • 关于epoch、batch_size等参数含义,及optimizer.step()的含义及数学过程
  • pinia实现数据持久化插件pinia-plugin-persist-uni
  • 10、属性和数据处理---c++17
  • 突破SQL注入字符转义的实战指南:绕过技巧与防御策略
  • 《Ultralytics HUB:开启AI视觉新时代的密钥》