当前位置: 首页> 科技> 能源 > 苏州小程序定制开发公司_外贸人才网_最新军事新闻 今日 最新消息_seo推广方案怎么做

苏州小程序定制开发公司_外贸人才网_最新军事新闻 今日 最新消息_seo推广方案怎么做

时间:2025/7/9 22:18:28来源:https://blog.csdn.net/m0_74814985/article/details/142413669 浏览次数:1次
苏州小程序定制开发公司_外贸人才网_最新军事新闻 今日 最新消息_seo推广方案怎么做

思路

判断是否是回文,需要:一个指针指向头,一个指针指向尾,两个指针一边向中间靠拢,一边判断数值是否相同

对于单链表,不方便获得pre,如果将节点放进 数组/list ,数组/list可以直接获得索引,,那么就能方便很(注意!!这是单链表需要访问pre时,常用的解决方法)

做法:

1.链表放进list中

2.设置一个指针指向头,一个指针指向尾

3.遍历size/2遍,两个指针一边判断数值是否相同,一边向中间靠拢,

代码

import java.util.ArrayList;
import java.util.Objects;public class Main {public static void main(String[] args) {}public class ListNode {int val;ListNode next;ListNode() {}ListNode(int val) { this.val = val; }ListNode(int val, ListNode next) { this.val = val; this.next = next; }}class Solution {public boolean isPalindrome(ListNode head) {//先将所有节点放进一个list():有序,有索引,长度可变//数组有索引,长度不可变ArrayList<Integer> list = new ArrayList<>();ListNode cur=head;while (cur != null) {list.add(cur.val);cur = cur.next;}//遍历size/2遍,,一个指针指向头,,一个指针指向尾//判断两个指针指向是否相同int size = list.size();int pre=0;int last=size-1;for (int i = 1; i <=size/2 ; i++) {//判断两个指针指向是否相同if (list.get(pre).equals(list.get(last))) {//如果相同,移动指针,继续判断pre++;last--;}else{return false;}}return true;}}
}

记录

总结

对于单链表,如果需要获得pre,可以节点放进 数组/list ,数组/list可以直接获得索引,,那么就能方便很(注意!!这是单链表需要访问pre时,常用的解决方法)

关键字:苏州小程序定制开发公司_外贸人才网_最新军事新闻 今日 最新消息_seo推广方案怎么做

版权声明:

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

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

责任编辑: