判斷鍊錶是否為回文鍊錶 時間O(n)空間O(1)

2021-09-26 02:36:25 字數 536 閱讀 8655

/**

* definition for singly-linked list.

* struct listnode

* };

*/ // 思路:快慢指標找到中間點,把鍊錶後半部分翻轉,前後兩個字指標判斷對應位置值是

//否相等。最後別忘了把後半部分的鍊錶反轉回去

class solution

return q;

}bool ispalindrome(listnode* head)

listnode* tail=reverse(slow);

listnode* recover=tail; //recover為最後乙個節點

listnode* front=head;

while(front!=null&&front->val==tail->val) //匹配成功則front到達slow->next

if(front==slow->next)

else

}};

Python判斷是否為回文鍊錶

突然發現python語法的優美和簡潔,清爽,不拖泥帶水。龜叔 guido van rossum 就說 除了不能生孩子,python真的能幹很多事。definition for singly linked list.如果位元組面試 時間複雜度o n 空間複雜度o 1 class listnode de...

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

思路1 找到中間節點然後把後面的翻轉,需要斷開鍊錶 然後比較和頭節點開始的前段,最後要是後半段的游標可以走到最後說明是回文否則不是 思路2 整體翻轉比較 思路3 借助乙個棧存放前半段的元素,然後和後半段的比較 public boolean ispalindrome listnode head lis...

鍊錶逆序 判斷鍊錶是否回文

1.具有煉表頭的單鏈表 假設需要逆序的單鏈表為 則逆序以後的鍊錶為 過程 1 取p1指向header next p1 stu next p2保留p1 next p2 p1 next 將p1 next置為null,因為單鏈表逆序以後,當前的p1節點為尾節點 p1 next null 2 取p3保留p2...