当前位置: 首页> 教育> 培训 > 一站式服务图片_app免费开发平台有哪些_防晒霜营销软文_可以免费推广的平台

一站式服务图片_app免费开发平台有哪些_防晒霜营销软文_可以免费推广的平台

时间:2025/7/13 7:26:37来源:https://blog.csdn.net/czy0316/article/details/144995858 浏览次数:0次
一站式服务图片_app免费开发平台有哪些_防晒霜营销软文_可以免费推广的平台

234.回文链表

思路1:双指针

1.一次遍历记录链表的值到数组中

2.数组头尾双指针开始判断

复杂度:

时间O(n),空间O(n)

代码:

class Solution {
public:bool isPalindrome(ListNode* head) {vector<int>nums;while(head){nums.push_back(head->val);head=head->next;}int i=0;int j=nums.size()-1;while(i<=j){if(nums[i]!=nums[j])return false;i++;j--;}return true;}
};

思路2:快慢指针+反转链表

1.快慢指针一次遍历到链表的中心

2.从中心开始反转链表后半部分

3.判断两段链表是否回文

复杂度:

时间O(n),空间O(1)

代码:

class Solution {
public:bool isPalindrome(ListNode* head) {ListNode* fast=head;ListNode* slow=head;while(fast->next!=nullptr&&fast->next->next!=nullptr){fast=fast->next->next;slow=slow->next;}//此时slow是前半段列表的末尾ListNode* backHead=reverse(slow->next);while(backHead!=nullptr){if(backHead->val!=head->val)return false;head=head->next;backHead=backHead->next;}return true;}ListNode* reverse(ListNode* head){ListNode* pre=nullptr;ListNode* cur=head;while(cur){ListNode* tmp=cur->next;cur->next=pre;pre=cur;cur=tmp;}return pre;}
};
关键字:一站式服务图片_app免费开发平台有哪些_防晒霜营销软文_可以免费推广的平台

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: