/*
typedef struct ListNode {
int val;
ListNode next;
}*ListNode ;*/
ListNode ReverseList(ListNode pHead) {
ListNode pre = NULL;
for(ListNode p = pHead; p; ) //p为工作指针, 逐一向后移动,每移动一次,把p>next 指向前一个节点
{
ListNode tmp = p -> next;//temp保存下一个结点 , 对前节点进行操作
p -> next = pre; //指向前一个节点, 第一次pre为NULL
return pre;
}
};
typedef struct ListNode {
int val;
ListNode next;
}*ListNode ;*/
ListNode ReverseList(ListNode pHead) {
ListNode pre = NULL;
for(ListNode p = pHead; p; ) //p为工作指针, 逐一向后移动,每移动一次,把p>next 指向前一个节点
{
ListNode tmp = p -> next;//temp保存下一个结点 , 对前节点进行操作
p -> next = pre; //指向前一个节点, 第一次pre为NULL
pre = p; //前一节点向后移动
p = tmp; // 工作节点向后移动
}return pre;
}
};