【第21期】观点:人工智能到底用 GPU?还是用 FPGA?

lintcode 翻转链表

原创 2016年08月28日 17:07:57

问题描述

http://www.lintcode.com/zh-cn/problem/reverse-linked-list/

样例
给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null

笔记

就是倒腾一下几个节点,找递推规律

代码

/**
 * Definition of ListNode
 * 
 * class ListNode {
 * public:
 *     int val;
 *     ListNode *next;
 * 
 *     ListNode(int val) {
 *         this->val = val;
 *         this->next = NULL;
 *     }
 * }
 */
class Solution {
public:
    /**
     * @param head: The first node of linked list.
     * @return: The new head of reversed linked list.
     */
    ListNode *reverse(ListNode *head) {
        // write your code here
        if (head == NULL)
            return NULL;
        ListNode *pre = NULL;
        ListNode *tmp = head->next;
        while (head)
        {
            tmp = head->next;
            head->next = pre;
            pre = head;
            head = tmp;
        }
        return pre;
    }
};

二次练习


/**
 * Definition of ListNode
 * 
 * class ListNode {
 * public:
 *     int val;
 *     ListNode *next;
 * 
 *     ListNode(int val) {
 *         this->val = val;
 *         this->next = NULL;
 *     }
 * }
 */
class Solution {
public:
    /**
     * @param head: The first node of linked list.
     * @return: The new head of reversed linked list.
     */
    ListNode *reverse(ListNode *head) {
        // write your code here
        ListNode* pre = NULL;
        ListNode* now = head;
        ListNode* nex = NULL;
        while (now != NULL)
        {
            nex = now->next;
            now->next = pre;
            pre = now;
            now = nex;
        }
        return pre;
    }
};
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Lintcode 35.翻转链表

1.问题描述:翻转一个链表,将给定的链表按他相反的顺序表示。 2.解题思路:相当于尾插法,创建dummy先保存了head的地址,将创建的temp保存head->next的地址,这样就让head下移,...

LintCode-翻转链表

翻转链表 翻转一个链表 样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null 挑战 在原地一次翻转完...

LintCode链表题总结

由于链表本身结构的单一性,链表的题目很少会有很大的变种,基本都是围绕几个基本的考点出题目。所以链表的题目比较好掌握,但是链表的题目又不太容易一次就AC通过,由于边界情况未考虑、空指针(比如head.n...

[Lintcode]翻转链表

翻转一个链表 样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null  分析: /**  * Definition of ListNode  *  * cl...

LintCode 翻转链表

题目描述: 翻转一个链表样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null。思路分析:头插法的简单应用。ac代码:/** * Definition of ...

Lintcode 翻转链表

翻转一个链表 您在真实的面试中是否遇到过这个题?  Yes 样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null ...

LintCode | Easy | 翻转链表 | Reverse Linked List

题目 翻转一个链表 样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null 挑战 在原地一次翻转完成 解题思路 翻转链表,顾名思义,将链表从最后一个节点...

LintCode 翻转链表

1.描述 翻转一个链表 样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null 2.分析 如果是数组问题,最取巧的办法是从(i=n;i>0;i--)for循环倒...

链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6

链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现Nod...

LintCode:翻转链表

翻转链表  描述 笔记  数据  评测 翻转一个链表 您在真实的面试中是否遇到过这个题?  Yes 样例 给出一个链表1->2->3->null,这个翻转后的链表为...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)