From 4e32c931a304f3c7344bafb13dcba14f77ee3456 Mon Sep 17 00:00:00 2001 From: Tcotyledons <53686585+Tcotyledons@users.noreply.github.com> Date: Tue, 13 Sep 2022 13:37:28 +0800 Subject: [PATCH] =?UTF-8?q?Delete=20707=E8=AE=BE=E8=AE=A1=E9=93=BE?= =?UTF-8?q?=E8=A1=A8java=E4=BB=A3=E7=A0=81=E7=9A=84=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 707设计链表java代码的修改 | 187 ----------------------------- 1 file changed, 187 deletions(-) delete mode 100644 707设计链表java代码的修改 diff --git a/707设计链表java代码的修改 b/707设计链表java代码的修改 deleted file mode 100644 index bf27e266..00000000 --- a/707设计链表java代码的修改 +++ /dev/null @@ -1,187 +0,0 @@ -//原来的代码随想录707设计链表的java代码中单链表的设计中有错误,修正后并对双链表进行了简化和更正,下面是我的java代码 - -//单链表 -class ListNode{ - int val; - ListNode next; - ListNode() {}; - ListNode(int val){ - this.val = val; - } -} - - -class MyLinkedList { - - //记录链表中元素的数量 - int size; - //记录链表的虚拟头结点 - ListNode head; - - public MyLinkedList() { - //初始化操作 - this.size = 0; - this.head = new ListNode(0); - this.head.next = null; - } - - public int get(int index) { - //判断index是否有效 - if(index<0 || index>=size){ - return -1; - } - ListNode cur = this.head; - //index 是可以取到的,因为有虚拟头结点 - for(int i=0; i<= index; i++){ - cur = cur.next; - } - return cur.val; - } - - public void addAtHead(int val) { - //等价于在第0个元素前添加 - addAtIndex(0,val); - } - - public void addAtTail(int val) { - //等价于在最后一个元素(null)前添加 - addAtIndex(size,val); - } - - public void addAtIndex(int index, int val) { - //index大于链表长度 - if(index>size){ - return; - } - //index小于0 - if(index<0){ - index = 0; - } - size++; - //找到前驱 - ListNode pre = this.head; - for(int i=0; i=size){ - return; - } - //删除操作 - size--; - ListNode pre = this.head; - for(int i=0; i=size){ - return -1; - } - ListNode cur = this.head; - //判断是哪一边遍历时间更短 - if(index >= size / 2){ - //tail开始 - cur = tail; - for(int i=0; i< size-index; i++){ - cur = cur.prev; - } - }else{ - for(int i=0; i<= index; i++){ - cur = cur.next; - } - } - return cur.val; - } - - public void addAtHead(int val) { - //等价于在第0个元素前添加 - addAtIndex(0,val); - } - - public void addAtTail(int val) { - //等价于在最后一个元素(null)前添加 - addAtIndex(size,val); - } - - public void addAtIndex(int index, int val) { - //index大于链表长度 - if(index>size){ - return; - } - //index小于0 - if(index<0){ - index = 0; - } - size++; - //找到前驱 - ListNode pre = this.head; - for(int i=0; i=size){ - return; - } - //删除操作 - size--; - ListNode pre = this.head; - for(int i=0; i