本文共 802 字,大约阅读时间需要 2 分钟。
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* oddEvenList(ListNode* head) { if(head == NULL || head ->next == NULL) return head; ListNode* oddCur = head; ListNode* evenHead = head->next; ListNode* evenCur = evenHead; while(evenCur != NULL && evenCur ->next != NULL){ oddCur->next = evenCur ->next; oddCur = oddCur ->next; evenCur ->next = oddCur ->next; evenCur = evenCur ->next; } oddCur ->next = evenHead; return head; }};
注意事项:
1 注意head ==NULL || head ->next ==NULL
2 注意while的停止条件:因为evenCur= head->next 所以必须考虑evenCur ->next
转载地址:http://anisn.baihongyu.com/