数据结构|给定值将链表分割成两部分

题目描述
给定值x将链表分割成两部分,比x小的在链表的前面部分,比x大的在链表的后面部分,不能改变原来的数据结构
思路

  • 创建两个新的链表(为了方便插入元素,使其带傀儡节点):smallList,largeList
  • 遍历链表,比x小的,插入到smallList链表的末尾,比x大的插入到largeList的末尾
  • 最终合并两个链表
代码
public class Solution6 { public ListNode partition(ListNode pHead, int x) { if(pHead==null||pHead.next==null){ return pHead; } ListNode smallList=new ListNode(0); ListNode sHead=smallList; ListNode sTail=smallList; ListNode largeList=new ListNode(0); ListNode lHead=largeList; ListNode lTail=largeList; for(ListNode cur=pHead; cur!=null; cur=cur.next){ if(cur.val

【数据结构|给定值将链表分割成两部分】

    推荐阅读