@@ -218,15 +218,15 @@ public boolean palindrome(){
218218 Node rightLink = null ;
219219 if (q .next == null ){
220220 // p 一定为整个链表的中点,且节点数目为奇数
221- leftLink = inverseLinkList (p );
221+ rightLink = p .next ;
222+ leftLink = inverseLinkList (p ).next ;
222223 System .out .println ("左边第一个节点" +leftLink .data );
223- System .out .println ("右边第一个节点" +p .next .data );
224- rightLink = p ;
224+ System .out .println ("右边第一个节点" +rightLink .data );
225225
226226 }else {
227227 //p q 均为中点
228+ rightLink = p .next ;
228229 leftLink = inverseLinkList (p );
229- rightLink = q ;
230230 }
231231 return TFResult (leftLink , rightLink );
232232
@@ -306,29 +306,31 @@ public static void main(String[]args){
306306 SinglyLinkedList link = new SinglyLinkedList ();
307307 System .out .println ("hello" );
308308 //int data[] = {1};
309+ //int data[] = {1,2};
309310 //int data[] = {1,2,3,1};
310- int data [] = {1 ,2 , 4 ,5 };
311+ // int data[] = {1,2,5};
311312 //int data[] = {1,2,2,1};
312- //int data[] = {1,2,5,2,1};
313+ // int data[] = {1,2,5,2,1};
314+ int data [] = {1 ,2 ,5 ,3 ,1 };
313315
314316 for (int i =0 ; i < data .length ; i ++){
315317 //link.insertToHead(data[i]);
316318 link .insertTail (data [i ]);
317319 }
320+ // link.printAll();
321+ // Node p = link.inverseLinkList_head(link.head);
322+ // while(p != null){
323+ // System.out.println("aa"+p.data);
324+ // p = p.next;
325+ // }
326+
327+ System .out .println ("打印原始:" );
318328 link .printAll ();
319- Node p = link . inverseLinkList_head (link .head );
320- while ( p != null ){
321- System . out . println ( "aa" + p . data );
322- p = p . next ;
329+ if (link .palindrome ()){
330+ System . out . println ( "回文" );
331+ } else {
332+ System . out . println ( "不是回文" ) ;
323333 }
324-
325- //System.out.println("打印原始:");
326- //link.printAll();
327- //if (link.palindrome()){
328- // System.out.println("回文");
329- //}else{
330- // System.out.println("不是回文");
331- //}
332334 }
333335
334336}
0 commit comments