美文网首页
2019-01-21 Day16

2019-01-21 Day16

作者: 骚得过火 | 来源:发表于2019-01-21 20:58 被阅读0次

    1.删除链表倒数第n个节点
    来源 LeetCode
    给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。

    示例:

    给定一个链表: 1->2->3->4->5, 和 n = 2.

    当删除了倒数第二个节点后,链表变为 1->2->3->5.
    说明:

    给定的 n 保证是有效的。

    /**
     * Definition for singly-linked list.
     * struct ListNode {
     *     int val;
     *     ListNode *next;
     *     ListNode(int x) : val(x), next(NULL) {}
     * };
     */
    class Solution {
    public:
        ListNode* removeNthFromEnd(ListNode* head, int n) {
            
            ListNode *headlist = new ListNode(0);
            headlist -> next = head;
            
            ListNode * first = headlist , *next = headlist ;
            for( int i = 0 ; i <= n ; i++ )
            {
               next = next -> next;
            }
            while( next  != NULL)
            {
                next = next -> next;
                first = first -> next;
            }
            first-> next = first ->next -> next;
            return headlist -> next;
        }
    };
    

    相关文章

      网友评论

          本文标题:2019-01-21 Day16

          本文链接:https://www.haomeiwen.com/subject/czmhjqtx.html