题目描述
输入一个链表,反转链表后,输出链表的所有元素
/*思路:假如是node1->node2->node3->node4; 这里head是node1;
* 方法要做的操作是变成node4->node3->node2->node1,并输出node4
* 那么遍历节点的时候,如node1->node2,分别为head,head.next;
* 那么让这两个节点互换一下就可以了。在换之前用一个temp记录head.next,
* 对下一个节点也做这样的操作;*/
public class 反转链表 {
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
public ListNode ReverseList(ListNode head) {
if (head==null) {
return null;
}
ListNode pre = null;
ListNode temp = null;
while (head!=null) {//
temp = head.next;
head.next = pre;//让
pre = head;
head = temp;
}
return pre;
}
}
本文介绍了一种链表反转的方法,并提供了详细的实现步骤。通过迭代方式,利用临时变量完成节点之间的指针调整,最终实现链表的反转。
324

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



