牛客網 鍊錶的回文結構

2021-10-02 15:17:29 字數 636 閱讀 9812

對於乙個鍊錶,請設計乙個時間複雜度為o(n),額外空間複雜度為o(1)的演算法,判斷其是否為回文結構。

給定乙個鍊錶的頭指標a,請返回乙個bool值,代表其是否為回文結構。保證鍊錶長度小於等於900。

測試樣例:

先使用快慢指標法,設定兩個指標fast和slow,遍歷鍊錶,fast指標速度是slow指標的兩倍,從而找到鍊錶的中間結點。之後將後半截鍊錶逆置。最後從頭尾向中間掃瞄,對比每個元素是否相等,如果都相等,則是回文數,否則不是回文數。

/*

struct listnode

};*/

class

palindromelist

//反轉鍊錶

listnode* prev =

null

; listnode* next;

while

(slow)

//判斷是否是回文結構

while

(prev)

}return

true;}

};

鍊錶的回文結構(牛客)

鍊錶的回文結構 題目描述 對於乙個鍊錶,請設計乙個時間複雜度為o n 額外空間複雜度為o 1 的演算法,判斷其是否為回文結構。給定乙個鍊錶的頭指標a,請返回乙個bool值,代表其是否為回文結構。保證鍊錶長度小於等於900。測試樣例 1 2 2 1 返回 true 解析 首先建立乙個傀儡結點,將原鍊錶...

鍊錶回文結構

對於乙個鍊錶,請設計乙個時間複雜度為o n 額外空間複雜度為o 1 的演算法,判斷其是否為回文結構。給定乙個鍊錶的頭指標head,請返回乙個bool值,代表其是否為回文結構。思路 實現 public class palindromelist 此時slow位於鍊錶中間,開始反轉鍊錶slow後面的部分 ...

鍊錶回文結構

對於乙個鍊錶,請設計乙個時間複雜度為o n 額外空間複雜度為o 1 的演算法,判斷其是否為回文結構。給定乙個鍊錶的頭指標a,請返回乙個bool值,代表其是否為回文結構。保證鍊錶長度小於等於900。測試樣例 1 2 2 1返回 true解題思路 1 找到鍊錶的中點,2 翻轉後半部分的鍊錶節點 3 依次...