题解 | #链表的奇偶重排#

链表的奇偶重排

http://www.nowcoder.com/practice/02bf49ea45cd486daa031614f9bd6fc3

/**

  • struct ListNode {
  • int val;
  • struct ListNode *next;
  • ListNode(int x) : val(x), next(nullptr) {}
  • }; / class Solution { public: /*
    • 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可

    • @param head ListNode类

    • @return ListNode类 / ListNode oddEvenList(ListNode* head) { // write code here if(head == nullptr) return nullptr; ListNode *pvHead1 = new ListNode(-1); pvHead1->next = head; ListNode *pvHead2 = new ListNode(-1); pvHead2->next = head->next; ListNode *p1 = head; ListNode *ptail1 = nullptr; ListNode *p2 = head->next; while(p1 != nullptr && p2 != nullptr){ ptail1 = p1; p1->next = p2->next; p1 = p1->next; if(p1){ p2->next = p1->next; p2 = p2->next; }

      }

      if(p1 == nullptr){ ptail1->next = pvHead2->next; }else{ p1->next = pvHead2->next; }

      return pvHead1->next; } };

全部评论

相关推荐

仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务