Given a singly linked list, determine if it is a palindrome.
Follow up:
Could you do it in O(n) time and O(1) space?
难点是单链表。
做法是用快慢指针找到链表的中心。然后将链表的后一半逆转。然后判断前后两个部分是否相等。
有个注意的地方,即下面的代码。当链表元素为奇数时,后一半比前一半少一个,所以while在pre为空时就停止,中心不用比较!
mb63887cf57331d ©著作权
Given a singly linked list, determine if it is a palindrome.
Follow up:
Could you do it in O(n) time and O(1) space?
难点是单链表。
做法是用快慢指针找到链表的中心。然后将链表的后一半逆转。然后判断前后两个部分是否相等。
有个注意的地方,即下面的代码。当链表元素为奇数时,后一半比前一半少一个,所以while在pre为空时就停止,中心不用比较!
上一篇:89. Gray Code
下一篇:46. Permutations
list基本操作
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M