* 使用快慢两个指针找到链表中点,慢指针每次前进一步,快指针每次前进两步* 在慢指针前进的过程中,同时修改其 next 指针,使得链表前半部分反序。* 最后比较中点两侧的链表是否相等

思路

  • 使用快慢两个指针找到链表中点,慢指针每次前进一步,快指针每次前进两步
  • 在慢指针前进的过程中,同时修改其 next 指针,使得链表前半部分反序。
  • 最后比较中点两侧的链表是否相等

c版本代码见

https://github.com/hkui/algo_practice/tree/master/c/linklist/palindrome_str

java版本
https://github.com/andavid/leetcode-java/blob/master/note/234/README.md

©著作权归作者所有:来自51CTO博客作者hkui2010的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. C语言函数功能的强大和入坑体会
  2. C语言指针的理解
  3. C/C++判断数据类型与顶层const与底层const的区分
  4. 2021-03-23:给定一个正整数组成的无序数组arr,给定一个正整数值K,找
  5. 一个Java对象究竟占用多大内存? --Java性能优化基础
  6. 排序算法——快速排序
  7. 2021-03-16:手写代码:单链表归并排序。
  8. C数组实现静态链表及常用操作(模拟无指针编程语言数组实现链表)
  9. C语言——结构体和指针学习

随机推荐

  1. android listview 右滑删除(android 项目
  2. Android(安卓)studio 解决Android(安卓)L
  3. WebRTC
  4. widget入门
  5. Android studio怎样隐藏标题栏
  6. Android 2.3的camera的虚拟对焦的去除
  7. 【Android基础】Android开发学习笔记
  8. 永久改变android 模拟器分区大小
  9. 【Android】配置文件属性说明
  10. Android声音播放实例代码