From d0814a723c8e293e2fa7eee1503114584269faa7 Mon Sep 17 00:00:00 2001 From: Mrchenuo Date: Thu, 2 Jun 2022 10:57:47 +0800 Subject: [PATCH 1/2] =?UTF-8?q?Update=200707.=E8=AE=BE=E8=AE=A1=E9=93=BE?= =?UTF-8?q?=E8=A1=A8.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复CPP代码的addAtIndex函数中,当index<0时,while会死循环的问题。 --- problems/0707.设计链表.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/problems/0707.设计链表.md b/problems/0707.设计链表.md index dcdb53f4..a788939b 100644 --- a/problems/0707.设计链表.md +++ b/problems/0707.设计链表.md @@ -104,10 +104,14 @@ public: // 在第index个节点之前插入一个新节点,例如index为0,那么新插入的节点为链表的新头节点。 // 如果index 等于链表的长度,则说明是新插入的节点为链表的尾结点 // 如果index大于链表的长度,则返回空 + // 如果index小于0,则置为0,作为链表的新头节点。 void addAtIndex(int index, int val) { if (index > _size) { return; } + else if (index < 0) { + index = 0; + } LinkedNode* newNode = new LinkedNode(val); LinkedNode* cur = _dummyHead; while(index--) { From 0c6b1db35cc3c5fc6d227026e4b5175628003318 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E5=91=98Carl?= Date: Thu, 7 Jul 2022 09:00:14 +0800 Subject: [PATCH 2/2] =?UTF-8?q?Update=200707.=E8=AE=BE=E8=AE=A1=E9=93=BE?= =?UTF-8?q?=E8=A1=A8.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0707.设计链表.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/problems/0707.设计链表.md b/problems/0707.设计链表.md index a788939b..31458d84 100644 --- a/problems/0707.设计链表.md +++ b/problems/0707.设计链表.md @@ -106,12 +106,9 @@ public: // 如果index大于链表的长度,则返回空 // 如果index小于0,则置为0,作为链表的新头节点。 void addAtIndex(int index, int val) { - if (index > _size) { + if (index > _size || index < 0) { return; } - else if (index < 0) { - index = 0; - } LinkedNode* newNode = new LinkedNode(val); LinkedNode* cur = _dummyHead; while(index--) {