zoukankan      html  css  js  c++  java
  • Reorder List [LeetCode]

    Given a singly linked list LL0L1→…→Ln-1Ln,
    reorder it to: L0LnL1Ln-1L2Ln-2→…

    You must do this in-place without altering the nodes' values.

    For example,
    Given {1,2,3,4}, reorder it to {1,4,2,3}.

    Solution: make sure the last element points to NULL in the new list;

     1     void reorderList(ListNode *head) {
     2         vector<ListNode * > nodes;
     3         ListNode * current = head;
     4         while(current != NULL) {
     5             nodes.push_back(current);
     6             current = current->next;
     7         }
     8         for(int i = 0; i < nodes.size() / 2; i ++){
     9             int next = nodes.size() - 1 - i;
    10             if(i < next){
    11                 ListNode * tmp = nodes[i]->next;
    12                 nodes[i]->next = nodes[next];
    13                 nodes[next]->next = tmp;
    14             }
    15         }
    16         if(nodes.size() > 0)
    17             nodes[nodes.size() / 2]->next = NULL;
    18     }
     1     void reorderList(ListNode *head) {
     2         vector<ListNode * > nodes;
     3         ListNode * current = head;
     4         while(current != NULL) {
     5             nodes.push_back(current);
     6             current = current->next;
     7         }
     8         for(int i = 0; i < nodes.size() / 2; i ++){
     9             if(i < nodes.size() - 1 - i){
    10                 nodes[i]->next = nodes[nodes.size() - 1 - i];
    11                 if(i + 1 < nodes.size() - 1 - i)
    12                     nodes[nodes.size() - 1 - i]->next = nodes[i + 1];
    13                 else
    14                     nodes[nodes.size() - 1 - i]->next = NULL;
    15             }
    16         }
    17         if(nodes.size() % 2 == 1)
    18             nodes[nodes.size() / 2]->next = NULL;
    19     }
  • 相关阅读:
    MySQL主从复制
    MySQL索引
    MySQL视图(view)
    MySQL表类型和存储引擎
    MySQL事务(三)
    MySQL事务(二)
    MySQL事务(一)
    MySQL事件调度器
    协同过滤推荐算法
    SVD奇异值分解
  • 原文地址:https://www.cnblogs.com/guyufei/p/3415575.html
Copyright © 2011-2022 走看看