博客
关于我
234.回文链表
阅读量:798 次
发布时间:2023-04-16

本文共 775 字,大约阅读时间需要 2 分钟。

判断一个单链表是否为回文链表的方法是,将链表中的所有节点值存储到一个数组中,然后从数组的两端同时向中间移动,逐步比较对应节点的值是否相等。如果全部相等,则为回文链表。

步骤如下:

  • 初始化数组:创建一个足够大的数组来存储链表节点的值。
  • 遍历链表:从链表的头节点开始,逐个将节点的值存入数组。
  • 双指针比较:设置两个指针,一个从数组开头,另一个从末尾,向中间移动,比较对应位置的值。
  • 返回结果:若所有对应值相等,返回true;否则,返回false。
  • 代码示例:

    bool isPalindrome(struct ListNode* head) {    int n = 0;    struct ListNode* current = head;    // 计算链表长度    while (current != NULL) {        n++;        current = current->next;    }    int arr[n];    current = head;    for (int i = 0; i < n; i++) {        arr[i] = current->val;        current = current->next;    }    int left = 0, right = n - 1;    while (left < right) {        if (arr[left] != arr[right]) {            return false;        }        left++;        right--;    }    return true;}

    注意事项:该方法假设链表不为空。对于空链表,通常返回true。对于单节点链表,返回true。

    转载地址:http://wfgfk.baihongyu.com/

    你可能感兴趣的文章
    MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
    查看>>
    MYSQL8.0以上忘记root密码
    查看>>
    Mysql8.0以上重置初始密码的方法
    查看>>
    mysql8.0新特性-自增变量的持久化
    查看>>
    Mysql8.0注意url变更写法
    查看>>
    Mysql8.0的特性
    查看>>
    MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    查看>>
    MySQL8修改密码的方法
    查看>>
    Mysql8在Centos上安装后忘记root密码如何重新设置
    查看>>
    Mysql8在Windows上离线安装时忘记root密码
    查看>>
    MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
    查看>>
    mysql8的安装与卸载
    查看>>
    MySQL8,体验不一样的安装方式!
    查看>>
    MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
    查看>>
    Mysql: 对换(替换)两条记录的同一个字段值
    查看>>
    mysql:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘解决方法
    查看>>
    MYSQL:基础——3N范式的表结构设计
    查看>>
    MYSQL:基础——触发器
    查看>>
    Mysql:连接报错“closing inbound before receiving peer‘s close_notify”
    查看>>
    mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
    查看>>