当前位置: 首页 > news >正文

【数据结构】【链表代码】 回文

利用快慢指针

/*
struct ListNode {int val;struct ListNode *next;ListNode(int x) : val(x), next(NULL) {}
};*/
struct ListNode* reverseList(struct ListNode* head) {struct ListNode*newHead=NULL;struct ListNode*cur=head;while(cur){struct ListNode*next=cur->next;//头插cur->next=newHead;newHead=cur;cur=next;}return newHead;
}
class PalindromeList {public:bool chkPalindrome(ListNode* A) {ListNode* fast = A;ListNode* slow = A;ListNode*prev=NULL;//就算逆置了,但是逆置的第一个元素,它的前面的元素的next域还是指向逆置的第一个元素while (fast && fast->next) {prev=slow;//因为从slow开始进行逆置slow = slow->next;fast = fast->next->next;}prev->next=NULL;因为从slow开始进行逆置,逆置后slow变成最后一个元素slow=reverseList(slow);while(A){if(A->val!=slow->val){return false;}else{A=A->next;slow=slow->next;}}}
};


http://www.mrgr.cn/news/44041.html

相关文章:

  • 高速NOA与城市NOA
  • 通用mybatis-plus查询封装(QueryGenerator)
  • OpenCV图像处理学习前简介
  • Hive数仓操作(六)
  • 洛谷每日一题(P1205 [USACO1.2] 方块转换 Transformations)矩阵变换
  • 微服务架构:核心组件解析与设计思考(服务发现、API网关、 配置中心、负载均衡、服务调用、服务熔断、链路追踪、消息队列、服务安全、分布式事务)
  • [C#]C# winform部署yolov11-pose姿态估计onnx模型
  • Golang 进阶5—— 反射
  • ECML PKDD 2024 | 时空数据(Spatial-Temporal)和时间序列(Time series)论文总结
  • Linux环境下的日志文件的实现
  • mmdetection报错:value error: need at least one array to concatenate
  • cnn突破六(四层bpnet网络公式)
  • 国内超声波清洗机哪个品牌好?力荐四款超耐用超声波清洗机!
  • 【React】事件机制
  • clientWidth,offsetWidth,scrollHeight
  • 产品经理都会的ComfyUI搭建指南
  • SAP 投资 1200 万新元推动新加坡的人工智能创新
  • React响应式修改数组和对象
  • 通过 Groovy 实现业务逻辑的动态变更
  • C# 非泛型集合基础:ArrayList与Hashtable的使用与注意事项