算法练习-第六天(判断一个链表是否为回文结构)

Posted 旷世奇才李先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法练习-第六天(判断一个链表是否为回文结构)相关的知识,希望对你有一定的参考价值。

不要再因为那些你不能控制的事情有压力了,要专注于你能控制的事情
文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

👏👏👏
哈喽!大家好,首先将我的刷题神器分享出来,点此注册
😍😍😍

文章目录


前言

对于程序员来说算法属于基本功,掌握了算法就能够写出更高效的代码,所以一个好的练习算法的网站尤为重要,现在分享一下我经常刷算法题的网站,上面不仅有算法题,还有其他类型的题,赶紧刷起来吧,算法神器

一、判断一个链表是否为回文结构

二、题解

import java.util.*;
public class Solution 
    public boolean isPail (ListNode head) 
        ArrayList<Integer> nums = new ArrayList();
        //将链表元素取出一次放入数组
        while (head != null) 
            nums.add(head.val);
            head = head.next;
        
        ArrayList<Integer> temp = new ArrayList();
        temp = (ArrayList<Integer>) nums.clone();
        //准备一个数组承接翻转之后的数组
        Collections.reverse(temp);
        for (int i = 0; i < nums.size(); i++) 
            int x = nums.get(i);
            int y = temp.get(i);
            //正向遍历与反向遍历相同
            if (x != y)
                return false;
        
        return true;
    


三、分析

1、解决方式(数组复制反转法)

数组复制反转法

2、测试提交

代码写完了就需要先自测一下,这个时候我们点击自测运行看一看能不能测试通过。

这里我们可以看到自测成功了,那我们就点击保存并提交来提交此题。

提交答案后会显示我们此题的运行时间以及占用内存,并且判断我们这两项超过了其他百分之多少的人,我们还可以点击进入下一题来接着进行刷题,这样会越刷越上瘾的。

四、总结

通过这个刷题神器刷题是真的过瘾,通过画图的方式将每一行代码分析出来就不会觉得代码难以理解了,所以赶紧刷起来吧,点此注册

可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

以上是关于算法练习-第六天(判断一个链表是否为回文结构)的主要内容,如果未能解决你的问题,请参考以下文章

算法练习-第六天(判断一个链表是否为回文结构)

算法--链表的回文结构

判断链表的回文结构

算法总结之 判断一个链表是否是回文结构

链表的回文结构

链表的回文结构