单链表逆序,非递归
typedef struct list
{
int date;
struct list *next;
}node;
node * reverse_list(node *head)
{
if(head == NULL || head->next == NULL)
return head;
else
{
node *reverse_head = NULL;
node *currrent = head;
if(current)
{
node *temp = current;
current = current->next;
temp ->next = reverse_head;
reverse_head = temp;
}
return reverse_head;
}
}
递归方式代码
node *reverse_list(head)
{
if(head == NULL || head->next == NULL)
{
return head;
}
else
{
node *current = head->next;
node *reversr_head = reverse_list(current);
current->next = head;
head->next = NULL;
return reverrse_head;
}
}
本文介绍了两种单链表逆序的方法:非递归和递归。非递归方法通过迭代处理当前节点及其下一个节点来完成逆序。递归方法则从链表头部开始,递归地将每个节点链接到其前一个节点之前。
5113

被折叠的 条评论
为什么被折叠?



