题解 | #反转链表#

反转链表

http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca

递归实现
1、确定函数返回值及参数

ListNode* reverse(ListNode* pre, ListNode* cur)

2、确定递归终止条件

if(cur == nullptr)
    return pre;

3、确定递归单层逻辑

ListNode* temp = cur->next;
cur->next = pre;

最终完整代码

class Solution {
public:
    ListNode* ReverseList(ListNode* pHead) {
        return reverse(nullptr, pHead);
    }

    //递归实现
    ListNode* reverse(ListNode* pre, ListNode* cur){
        if(cur == nullptr)
            return pre;
        ListNode* temp = cur->next;
        cur->next = pre;
        return reverse(cur, temp);
    }
};
全部评论

相关推荐

Lorn的意义:1.你这根本就不会写简历呀,了解太少了 2.你这些项目经历感觉真的没啥亮点啊,描述的不行,重写书写一下让人看到核心,就继续海投 注意七八月份ofer还是比较多的,越往后机会越少,抓住时机,抓紧检查疏漏,加油查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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