题目:Reverse a singly linked list.
分析:此题在于细节,处理链表长度为0、1、2长度的特殊情况
代码:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode reverseList(ListNode head) {
if(head==null){
return null;
}
ListNode left ,middle,right;
left=head;
middle=left.next;
if(middle==null){
return left;
}
right=middle.next;
left.next=null;
while(right!=null){
middle.next=left;
left=middle;
middle=right;
right=middle.next;
}
middle.next=left;
return middle;
}
}
反转单链表
本文介绍了一种反转单链表的方法,特别关注了处理特殊情况的细节,例如链表长度为0、1或2的情况。通过一个具体的Java代码示例,详细展示了如何通过迭代的方式实现链表的反转。
419

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



