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

链表的奇偶重排

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; } };

全部评论

相关推荐

11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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