【剑指offer】面试题24:反转链表(Java 实现)
輸入一個鏈表,反轉鏈表后,輸出新鏈表的表頭。
代碼:
package offer;
class Node4
{
?? ?int val;
?? ?Node4 next = null;
?? ?Node4(int val)
?? ?{
?? ??? ?this.val = val;
?? ?}
}
public class ti24 {
?? ?public static Node4 ReverseList(Node4 head)
?? ?{
?? ??? ?if(head==null||head.next==null)
?? ??? ?{
?? ??? ??? ?return head;
?? ??? ?}
?? ??? ?Node4 pre = null,node = head,reverse = null;
?? ??? ?while(node!=null)
?? ??? ?{
?? ??? ??? ?Node4 Nnext = node.next;
?? ??? ??? ?if(node.next==null)
?? ??? ??? ?{
?? ??? ??? ??? ?reverse = node;
?? ??? ??? ?}
?? ??? ??? ?node.next = pre;
?? ??? ??? ?pre = node;
?? ??? ??? ?node = Nnext;
?? ??? ?}
?? ??? ?return reverse;
?? ?}
?? ?public static void main(String[] args)
?? ?{
?? ??? ?Node4 node1 = new Node4(1);
?? ??? ?Node4 node2 = new Node4(2);
?? ??? ?Node4 node3 = new Node4(3);
?? ??? ?Node4 node4 = new Node4(4);
?? ??? ?Node4 node5 = new Node4(5);
?? ??? ?node1.next = node2;
?? ??? ?node2.next = node3;
?? ??? ?node3.next = node4;
?? ??? ?node4.next = node5;
?? ??? ?Node4 head = ReverseList(node1);
?? ??? ?while(head!=null)
?? ??? ?{
?? ??? ??? ?System.out.println(head.val);
?? ??? ??? ?head = head.next;
?? ??? ?}
?? ?}
}
?
總結
以上是生活随笔為你收集整理的【剑指offer】面试题24:反转链表(Java 实现)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python-文件和流
- 下一篇: 【剑指offer】面试题62:圆圈中最后