登录
  • #刷题
  • #careercup

我的这段很简单的反转链表哪里错了?

TonyJang
936
1
package chapter2;[br][/br][br][/br]import java.util.*;[br][/br][br][/br]public class reverseLinkedList {[br][/br][br][/br]    [br][/br][br][/br]    [br][/br][br][/br]    public static<T> void reverse (ListNode<T> head){[br][/br][br][/br]        [br][/br][br][/br]        if(head==null||head.next==null) return;[br][/br][br][/br]        [br][/br][br][/br]        Stack<ListNode<T>> stack= new Stack<ListNode<T>>();[br][/br][br][/br]        ListNode<T> cur=head;[br][/br][br][/br]        while(cur!=null){[br][/br][br][/br]            [br][/br][br][/br]            stack.push(cur);[br][/br][br][/br]            cur=cur.next;[br][/br][br][/br]            [br][/br][br][/br]        }[br][/br][br][/br]        [br][/br][br][/br]        ListNode<T> rev=stack.pop();[br][/br][br][/br]        ListNode<T> cur2=rev;[br][/br][br][/br]        while(!stack.empty()){[br][/br][br][/br]            ListNode<T> next=stack.pop();[br][/br][br][/br]            next.next=null;[br][/br][br][/br]            cur2.next=next;[br][/br][br][/br]            cur2=next;[br][/br][br][/br]            [br][/br][br][/br]            [br][/br][br][/br]        }[br][/br][br][/br]while(head!=null){[br][/br][br][/br]            [br][/br][br][/br]            System.out.print(head.data+"->");[br][/br][br][/br]            head=head.next;[br][/br][br][/br]            [br][/br][br][/br]        }[br][/br][br][/br]        [br][/br][br][/br]while(rev!=null){[br][/br][br][/br]    [br][/br][br][/br]    System.out.print(rev.data+"->");[br][/br][br][/br]    rev=rev.next;[br][/br][br][/br]    [br][/br][br][/br]}[br][/br][br][/br]    [br][/br][br][/br]    }[br][/br][br][/br]    [br][/br][br][/br]    public static void main(String[] args){[br][br][/br]        ListNode<Integer> Node1=new ListNode<Integer>(0);[br][/br][br][/br]        ListNode<Integer> Node2=new ListNode<Integer>(1);[br][/br][br][/br]        ListNode<Integer> Node3=new ListNode<Integer>(2);[br][/br][br][/br]        ListNode<Integer> Node4=new ListNode<Integer>(1);[br][/br][br][/br]        ListNode<Integer> Node5=new ListNode<Integer>(4);[br][/br][br][/br]        Node1.next=Node2;[br][/br][br][/br]        Node2.next=Node3;[br][/br][br][/br]        Node3.next=Node4;[br][/br][br][/br]        Node4.next=Node5;[br][/br][br][/br]        [br][/br][br][/br]        reverse(Node1);[br][/br][br][/br]        [br][/br][br][/br]        [br][/br][br][/br]        [br][/br][br][/br]        [br][/br][br][/br]        [br][/br][br][/br]        [br][/br][br][/br]        [br][/br][br][/br]    }[br][/br][br][/br]}[br][/br][br][/br]
1条回复
热度排序

发表回复