判斷乙個鍊錶是否為回文結構

2021-10-08 17:57:04 字數 978 閱讀 8399

判斷乙個鍊錶是否為回文結構

給定乙個鍊錶,請判斷該鍊錶是否為回文結構。

輸入描述:

n

nn 表示鍊錶的長度

a

ia_i

ai​ 表示鍊錶的各個節點的值。

輸出描述:

如果為回文結構輸出 「true」 , 否則輸出 「false」。

示例1輸入

4

1 2 2 1

輸出
true
備註:

1 ≤n

≤106

1 \leq n \leq 10^6

1≤n≤106−1

06≤a

i≤10

6-10^6 \leq a_i \leq 10^6

−106≤a

i​≤1

06題解:將資料壓入乙個棧中,如果鍊錶是回文鍊錶的話,則從棧頂到棧底(鍊錶尾部到首部)與鍊錶首部到尾部的節點對應的值應該相等。

**:

# include

using

namespace std;

struct list_node

;list_node *

input_list

(void

)else

}return phead;

}void

check

(list_node * head)

stack<

int> st;

list_node *p = head;

while

(p) p = head;

while

(p) p = p-

>next;

st.pop();

}puts

("true");

}int main (

)

判斷乙個鍊錶是否為回文結構

題目 給定乙個鍊錶的頭結點head,判斷該鍊錶是否為回文結構。例如 1 2 1,返回true 1 2 2 1,返回true 15 6 15,返回true 1 2 3,返回false 方法一 利用棧結構實現。從頭遍歷鍊錶,遍歷的同時把加點一次壓入棧中。因為棧為先進後出結構,所以遍歷完成後,從棧頂到棧底...

判斷乙個鍊錶是否為回文結構

這道題的做法是首先找到列表中間的結點,然後把中間結點之後的鍊錶翻轉,然後同時遍歷兩個鍊錶,比較結點的資料是否相同,如果有不同的,返回false,遍歷完說明資料相同,返回true public class palindromelist fast fast.next slow slow.next ret...

判斷乙個鍊錶是否為回文結構

演算法專題導航頁面 題目描述 給定乙個鍊錶,請判斷該鍊錶是否為回文結構。輸入描述 n 表示鍊錶的長度。val 表示鍊錶節點的值 輸出描述 如果為回文結構輸出 true 否則輸出 false 示例1 輸入5 1 2 3 2 1 輸出true 備註 1 n 2000000 1000000 val 100...