鍊錶反轉
輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。
例如:輸入,返回。
public listnode reverse (listnode head)
return temp;
}
鍊錶內指定區間反轉
將乙個鍊錶 m 位置到 n 位置之間的區間反轉,要求時間複雜度o(n) ,空間複雜度o(1) 。
例如:給出的鍊錶為 1 → 2 → 3 → 4 → 5 → null,1→2→3→4→5→null,m=2,n=4,
返回 1 → 4 → 3 → 2 → 5 → null。
注意:給出的 滿足以下條件:1 ≤ m ≤ n ≤ 鍊錶長度。
//鍊錶內指定區間反轉
public listnode reversebetween (listnode head,
int m,
int n)
if(count >= m && count <= n)
temp.next = pre;
pre = temp;
if(count == n)
} node = node.next;
} currfirst.next = temp;
currlast.next = last;
return tempfirst.next;
}
NC21 鍊錶內指定區間反轉
將乙個鍊錶m位置到n位置之間的區間反轉,要求時間複雜度為o n o n o n 空間複雜度為o 1 o 1 o 1 例如 給出的鍊錶為1 2 3 4 5 null,返回1 4 3 2 5 null 方法一 迭代法 將n位置之前的元素逐步插入到n元素之後 struct listnode class s...
演算法 反轉單向鍊錶和雙向鍊錶
分別實現反轉單向鍊錶和雙向鍊錶的函式。如果鍊錶長度為n,時間複雜度為o n 額外空間複雜度要求為o 1 反轉單向鍊錶 public class nodepublic int value public node next public static node reverselist node node...
演算法 反轉鍊錶
編寫帶 實現反轉單鏈表。如 1,2,3,4,5 變為 5,4,3,2,1 要求空間複雜度為o 1 先直接給出乙份完整的 可以直接執行。c include include include typedef int datatype 鍊錶持有的資料的型別 typedef struct node 結點的定義...