j********r 发帖数: 25 | 1 /**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode *partition(ListNode *head, int x) {
ListNode dummy(0);
ListNode dummy2(0);
ListNode *p = &dummy;
ListNode *pp = &dummy2;
while(head) {
if (head->val < x) {
p->next = head;
p = p->next;
}
else {
pp->next = head;
pp = pp->next;
}
head = head->next;
}
p->next = dummy2.next;
return dummy.next;
}
}; |
l*n 发帖数: 529 | 2 这种复杂度肯定是O(n)的问题出现tle是因为你的逻辑死循环了。 |
j********r 发帖数: 25 | 3 当输入是[2,1] 2 的时候, OJ说是TLE, 可是在本地跑得好好的啊。
【在 l*n 的大作中提到】 : 这种复杂度肯定是O(n)的问题出现tle是因为你的逻辑死循环了。
|
d****n 发帖数: 233 | 4 漏写了一行 pp->next = NULL;
【在 j********r 的大作中提到】 : 当输入是[2,1] 2 的时候, OJ说是TLE, 可是在本地跑得好好的啊。
|
p*****p 发帖数: 379 | 5 这会有cycle吧,变成1->2->1->2->1...了 |
d****n 发帖数: 233 | 6 嗯,加上我说的那行应该就好了。
【在 p*****p 的大作中提到】 : 这会有cycle吧,变成1->2->1->2->1...了
|