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

2021-08-13 17:39:19 字數 1109 閱讀 5162

題目:

給定鍊錶的頭節點,判斷該鍊錶是否為會問結構

如果鍊錶的長度為n,時間複雜度達到o(n),額外空間複雜度達到o(1)

方法一:

public class node

}public boolean ispalindromel(node head)

while(head != null)

head = head.next;

} return true;

}

方法二:

public boolean ispalindromel2(node head)

node right = head.next;

node cur = head;

while(cur.next != null && cur.next.next != null)

stackstack = new stack();

while(right != null)

while(!stack.isempty())

} return true;

}

方法三:

public boolean ispalindromel3(node head)

node n1 = head;

node n2 = head;

while(n2.next != null && n2.next.next != null)

n2 = n1.next;

n1.next = null;

node n3 = null;

while(n2 != null)

n3 = n1;

n2 = head;

boolean res = true;

while(n1 != null && n2 != null)

n1 = n1.next;

n2 = n2.next;

} n1 = n3.next;

n3.next = null;

while(n1 != null)

return res;

}

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

方法1 利用棧 t o n s o n 將鍊錶壓入棧,利用棧的先進後出逆序出鍊錶對比原鍊錶各節點值 public static boolean ispalindome1 node head cur head while s.isempty return true 方法2 利用棧 t o n s o ...

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

1 題目描述 給定乙個鍊錶,請判斷該鍊錶是否為回文結構。2 思路 對於單鏈表而言,判斷乙個鍊錶是否為回文結構,可以先找出鍊錶的中間結點,然後將鍊錶的後半部分反轉 從鍊錶兩端開始逐一比較,如果不相等則返回false。2 a 如何尋找鍊錶的中間位置,使用雙指標 設定乙個快指標 pfast 乙個慢指標 p...

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

給定乙個鍊錶的頭節點head,請判斷該鍊錶是否為回文結構。例如 1 2 1,返回true。1 2 2 1,返回true。15 6 15,返回true。1 2 3,返回false。高階 如果鍊錶長度為n,時間複雜度達到o n 額外空間複雜度達到o 1 解法一 使用快慢指標將slow指向的鍊錶的一半壓入...