我想完成一個項目,要求我不使用任何類型的循環,而只使用遞歸。我必須使用LinkedLists而不是數組創建一個StringBuilder類。如果有人能夠幫助我在此方法delete()中實現遞歸,我將不勝感激。實現使用遞歸的StringBuilder刪除方法
public MyStringBuilder delete(int start, int end)
{
if(!(start < 0 || start > length || end <= start)){
CNode currNode = firstC;
CNode startNode = currNode;
if(start == 0){
for(int i = 1; i < end +1; i++){
currNode = currNode.next;
length -= 1;
}
firstC = currNode;
}else if (end > length){
for(int i = 1; i < start; i++){
currNode = currNode.next;
}
length = start;
currNode.next = null;
lastC = currNode;
} else {
for(int i = 0; i < end; i++){
//find starting deletion point
if(i == (start - 1)){
startNode = currNode;
}
currNode = currNode.next;
}
length = length - (end-start);
//actual deletion part
startNode.next = currNode;
}
}
return this;
}
非常感謝。