且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

LeetCode刷题234-简单-回文链表

更新时间:2022-05-31 06:22:23


LeetCode刷题234-简单-回文链表

文章目录


☀️ 前言 ☀️

算法作为极其重要的一点,是大学生毕业找工作的核心竞争力,所以为了不落后与人,开始刷力扣算法题!


???? 作者简介 ????

大家好,我是布小禅,一个尽力让无情的代码变得生动有趣的IT小白,很高兴能偶认识你,关注我,每天坚持学点东西,我们以后就是大佬啦!

???? :❤布小禅❤

???? 作者专栏:

❤Python❤

❤Java❤

❤力扣题❤

这是我刷第 81/100 道力扣简单题


???? 一、题目描述 ????

给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false

示例1:

输入:head = [1,2,2,1]
输出:true

示例2:

输入:head = [1,2]
输出:false

提示:链表中节点数目在范围[1, 105] 内
0 <= Node.val <= 9


???? 二、题目解析 ????

思路1

- 将链表中的值放进数组,然后使用双指针
  • 都是基础操作,没什么好说的


???? 三、代码 ????

☁️ C语言☁️

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */

/*
  - 将链表中的值放进数组,然后使用双指针
  - 都是基础操作,没什么好说的
*/
bool isPalindrome(struct ListNode* head) {
    int vals[100001], vals_num = 0;
    while (head != NULL) {
        vals[vals_num++] = head->val;
        head = head->next;
    }
    for (int i = 0, j = vals_num - 1; i < j; ++i, --j) {
        if (vals[i] != vals[j]) {
            return false;
        }
    }
    return true;
}


???? 结语 ????

坚持最重要,每日一题必不可少!????

期待你的关注和督促!????

LeetCode刷题234-简单-回文链表