LeetCode : 206.反转链表
程序员文章站
2022-04-02 19:25:31
...
本题注意以下几点:
1.我的是方法是逐个遍历每个节点,将上一个节点的地址赋值给当前节点的next中,因此每次循环遍历需要保存当前和上一个节点的地址,需要注意的是头结点head的尾部节点的处理!,头结点的next变成NULL,把尾部节点的地址赋给head。
2.注意不要试图使用空指针,判断条件中必须设置好不要使得出现空指针的条件
3.警告视为错误,非void函数必须返回值;
ListNode* reverseList(ListNode* head) {
ListNode *h, *Node,*H;
Node = h = head;
if (head->next != NULL)
{
while (h)
{
if (h == head)
{
Node = h;
h = h->next;
Node->next = NULL;
}
else if (h->next == NULL)
{
h->next = Node;
head=h;
break;
}
else
{
H = h->next;
h->next = Node;
Node = h;
h = H;
}
}
return head;
}
else
return head;
上一篇: PHPMailer实现发送邮件的方法介绍(附代码)
下一篇: Leetcode刷题笔记