题目
https://leetcode-cn.com/problems/partition-list/
分析
为什么答案那么简单啊 是我太蠢了
代码
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode partition(ListNode head, int x) {
ListNode small=new ListNode();
ListNode large=new ListNode();
ListNode small0=small;
ListNode large0=large;
while(head!=null){
if(head.val<x){
small.next=head;
small=small.next;
}
else{
large.next=head;
large=large.next;
}
head=head.next;
}
small.next=large0.next;
large.next=null;
return small0.next;
}
}
复杂度
时间复杂度: O(n),其中 n 是原链表的长度。我们对该链表进行了一次遍历。
空间复杂度: O(1)。