zoukankan      html  css  js  c++  java
  • LeetCode OJ--Reverse Linked List II

    http://oj.leetcode.com/problems/reverse-linked-list-ii/

    链表的操作

    #include <iostream>
    using namespace std;
     
    struct ListNode {
         int val;
         ListNode *next;
         ListNode(int x) : val(x), next(NULL) {}
     };
     
    class Solution {
    public:
        ListNode *reverseBetween(ListNode *head, int m, int n) {
            ListNode dummy(-1);
            dummy.next = head;
    
            ListNode *prev = &dummy;
            for(int i = 0;i<m-1;++i)
            {
                prev = prev->next;
            }
            ListNode* const head2 = prev;
    
            prev = head2->next;
            ListNode *cur = prev->next;
            for(int i = m;i<n;++i)
            {
                prev->next = cur->next;
                cur->next = head2->next;
                head2->next = cur;
                cur = prev->next;
            }
            return dummy.next;
        }
    };
    
    int main()
    {
        ListNode *n1 = new ListNode(1);
        ListNode *n2 = new ListNode(2);
        ListNode *n3 = new ListNode(3);
        ListNode *n4 = new ListNode(4);
        ListNode *n5 = new ListNode(5);
        n1->next = n2;
        n2->next = n3;
        n3->next = n4;
        n4->next = n5;
        ListNode *ans;
        Solution myS;
        ans = myS.reverseBetween(n1,2,4);
        return 0;
    }
  • 相关阅读:
    JQuery 中 某个标签 remove 时添加特效方法
    JQuery each 方法
    JQuery 中 animate() 方法使用
    final关键字
    坑爹之Server Farm
    正确使用Google英文版
    SQLServer2014下载地址
    微软这是要作死啊
    Why not me ?
    页面无法调试?
  • 原文地址:https://www.cnblogs.com/qingcheng/p/3548505.html
Copyright © 2011-2022 走看看