题解 | #反转链表#

反转链表

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);
    }
};
全部评论

相关推荐

11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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