题解 | #反转链表#

反转链表

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

/**
 * struct ListNode {
 *    int val;
 *    struct ListNode *next;
 * };
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param head ListNode类 
 * @return ListNode类
 */
struct ListNode* ReverseList(struct ListNode* head ) {
    if (head == NULL) {
        return NULL;
    }

    struct ListNode* prev = NULL;//反转链表
    struct ListNode* current = head;//当前链表
    struct ListNode* next;//下一个节点

    while (current!= NULL) {
        next = current -> next;//向后遍历使用
        current -> next = prev;//把当前链表的前节点放到尾节点去
        prev = current;//尾节点向前遍历
        current = next;//向后遍历使用
    }

    return prev;//输出反转链表
}

C语言基础 文章被收录于专栏

里面较为详细的介绍了c语言的相关用法和有关题目。

全部评论

相关推荐

重生我想学测开:嵌入式的问题,我准备入行京东外卖了
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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