題目:
給定鍊錶的頭節點,判斷該鍊錶是否為會問結構
如果鍊錶的長度為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指向的鍊錶的一半壓入...