c语言练习90:反转链表

反转链表

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

c语言练习90:反转链表_第1张图片

c语言练习90:反转链表_第2张图片

与方法一相比方法二的思路更容易实现

报错原因:head和n3不能为空,为空则不能执行后面的操作

c语言练习90:反转链表_第3张图片 

报错原因:listnode*n1,n2,n3;

纠正:listnode *n1,n2,n3;

代码:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */

typedef struct ListNode ListNode;
struct ListNode* reverseList(struct ListNode* head){
    if(head==NULL){
        return NULL;
    }
    ListNode*n1,*n2,*n3;
    n1=NULL;
    n2=head;
    n3=head->next;
    while(n2){
        n2->next=n1;
        n1=n2;
        n2=n3;
        if(n3!=NULL){
            n3=n3->next;
        }
        
    }
    return n1;

}

c语言练习90:反转链表_第4张图片

你可能感兴趣的:(c语言,链表,开发语言)