/**
*題目描述:
*輸入一個鏈表,反轉鏈表後,輸出鏈表的所有元素。
*/
class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
public class Solution {
public ListNode FindKthToTail(ListNode head) {
if(null==head)
return null;
//pre:前一個節點;next:下一個節點;head:當前節點
ListNode pre=null,next=null;
//head爲當前節點
while(head!=null){
next=head.next;
//修改當前節點的下一個節點爲原來鏈表中的前一個節點
head.next=pre;
//設置當前節點爲前一個節點
pre=head;
//當前節點後移
head=next;
}
return pre;
}
public static void main(String[] args) {
Solution s=new Solution();
ListNode root=new ListNode(1);
ListNode node1=new ListNode(2);
ListNode node2=new ListNode(3);
ListNode node3=new ListNode(4);
root.next=node1;
node1.next=node2;
node2.next=node3;
root=s.FindKthToTail(root);
while(root!=null){
System.out.print(root.val);
root=root.next;
}
}
}
【劍指offer】15反轉鏈表
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.