LeetCode之Partition List
2015-03-26 10:38
253 查看
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ /*本题考查链表的遍历和尾插法(不改变相对顺序),具体方法如下: 从头开始遍历,找到小于x的结点,用尾插法加入即可。*/ class Solution { public: ListNode *partition(ListNode *head, int x) { if(!head) return head; ListNode newHead(-1); ListNode *mark = &newHead;//小于x的结点插到mark结点后面 mark->next = head; while(mark->next && mark->next->val < x) mark = mark->next; ListNode *pre = mark; if(!pre->next) return head; ListNode *cur = pre->next; while(cur){ if(cur->val < x){ ListNode *tmp = cur; pre->next = cur->next; cur = cur->next; tmp->next = mark->next; mark->next = tmp; mark = mark->next; } else{ pre = pre->next; cur = cur->next; } } return newHead.next; } };
相关文章推荐
- LeetCode:Partition List
- Leetcode-partition-list
- leetcode Partition List
- [Leetcode] Partition List **
- LeetCode Partition List
- partition List Leetcode Python
- Partition List( LeetCode )
- LeetCode OJ Partition List
- Partition List -- LeetCode
- LeetCode Partition List
- Leetcode Partition List
- LeetCode Partition List 按值分段链表 系统分析
- Partition List -- LeetCode
- [leetcode]Partition List @ Python
- LeetCode力扣之Partition List
- LeetCode Partition List
- partition-list-leetcode-C++
- leetcode之Partition List
- LeetCode--partition-list
- 闲话链表(三) leetcode之Partition List