判断是否为回文链表
我是采用先反转一整个链表再判断两个链表是否匹配,看不出来啥问题,但还是有错,求解答!
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
// 反转链表
struct ListNode* reverseList(struct ListNode* head) {
struct ListNode* pre = NULL;
// 保存下一个节点
struct ListNode* temp = head;
while(head) {
// 保存下一个节点的位置
temp = head->next;
// 反转链表
head->next = pre;
// 更新节点
pre = head;
head = temp;
}
return pre;
}
bool isPalindrome(struct ListNode* head){
// 反转后的链表
struct ListNode* newList = reverseList(head);
// 比较两个链表的值
while(head && newList) {
if(head->val != newList->val) {
return false;
}
head = head->next;
newList = newList->next;
}
return true;
}
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
// 反转链表
struct ListNode* reverseList(struct ListNode* head) {
struct ListNode* pre = NULL;
// 保存下一个节点
struct ListNode* temp = head;
while(head) {
// 保存下一个节点的位置
temp = head->next;
// 反转链表
head->next = pre;
// 更新节点
pre = head;
head = temp;
}
return pre;
}
bool isPalindrome(struct ListNode* head){
// 反转后的链表
struct ListNode* newList = reverseList(head);
// 比较两个链表的值
while(head && newList) {
if(head->val != newList->val) {
return false;
}
head = head->next;
newList = newList->next;
}
return true;
}
全部评论
你把链表给反转了,head还是你以为的那个head吗
相关推荐
01-03 20:47
北京交通大学 Java
nsjbambmbs:简历一写就是微服务,一问实际就俩服务,简历一写就是高并发一问 QPS 个位数既然写了微服务,那我出系统设计题场景题也没啥问题吧 点赞 评论 收藏
分享
2025-11-17 18:24
哈尔滨工业大学 数据分析师 程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
点赞 评论 收藏
分享
