链表(一)单链表反转

一、单链表反转

 

                  我立马想到的解决思路:=》用一个堆栈、或者数组集合类的过一遍存储,倒叙重排

                                    百度后思路:=》非递归实现

                                                          =》递归实现

 

二、实现

 

 //print reverse use the not recursion
        public static Chain reverseMethod(Chain head) {
            Chain pre = null;
            Chain cur = head;
            Chain nex=null;

            while (cur!= null) {
                nex= cur.Next;
                cur.Next = pre;

                pre = cur;
                cur = nex;
            }
            return pre;
        }

 

  //print reverse use the recursion
        public static Chain recursionReverse(Chain head) {
         if(head==null||head.Next==null)return head;

         Chain temp = recursionReverse(head.Next);
         head.Next.Next = head;
         head.Next = null;
         return temp;

        }

 

你可能感兴趣的:(单链表)