0

リンク リスト クラス -

class MyList{
        int val;
        MyList next;
        MyList(int val){
            this.val = val;
        }

        @Override
        public String toString() {
            MyList current = this;
            String out="";
            while(current != null){
                out += current.val+"-->";
                current = current.next;
            }


            return out+"TAIL";
        }
    }

私は試してみましたが、その作業-

MyList list3 = list;
    MyList list4 = list.next;
    while(list3!=null && list4!=null){  
        alternateListswap(list3,list4);
        if(list3.next.next==null || list4.next.next==null)
            break;
        list3 = (list3.next.next==null)?null:list3.next.next;
        list4 = (list4.next.next==null)?null:list4.next.next;
    }


private static MyList alternateListswap(MyList L3, MyList L4) {
        int temp = L4.val;
        L4.val = L3.val;
        L3.val = temp;
        return L3;

    }

私の入力 -

MyList list = new MyList(1);
        list.next = new MyList(2);
        list.next.next = new MyList(3);
        list.next.next.next = new MyList(4);
        list.next.next.next.next = new MyList(5);
        list.next.next.next.next.next = new MyList(6);
        list.next.next.next.next.next.next = new MyList(7);
        list.next.next.next.next.next.next.next = new MyList(8);
        list.next.next.next.next.next.next.next.next = new MyList(9);
        list.next.next.next.next.next.next.next.next.next = new MyList(10);

私のリスト出力は - 1-->2-->3-->4-->5-->6-->7-->8-->9-->10-->TAIL

ここで、JAVA の LinkedList の代替ノードを交換したいと考えています。

予期される出力 - 2-->1-->4-->3-->6-->5-->8-->7-->10-->9-->TAIL

4

1 に答える 1