将一个有序链表倒置(C语言实现)
时间: 2023-05-28 14:01:50 浏览: 95
有序链表;c语言实现;不指定数据类型
//定义链表节点结构体
typedef struct ListNode {
int val;
struct ListNode *next;
} ListNode;
//将有序链表倒置函数
struct ListNode* reverseList(struct ListNode* head){
struct ListNode *new_head = NULL; //新建一个指针,指向最后一个节点,初始为空
while (head != NULL) { //如果原链表不为空
struct ListNode *temp = head->next; //将原链表的下一个节点暂存
head->next = new_head; //将原链表的下一个节点指向新链表头部
new_head = head; //将新链表头部指向当前节点
head = temp; //将原链表头部指向下一个节点
}
return new_head; //返回新链表头部
}
阅读全文