主页 > 软件开发  > 

【leetcode】力扣热门之回文链表【简单难度】


题目描述

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

用例

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

提示:

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

解法一:数组 指针

var isPalindrome = function(head) { let temp=[] while(head){ temp.push(head.val) head=head.next; } let left=0; let right=temp.length-1; while(left<right){ if(temp[left]!=temp[right])return false; left++; right--; } return true; };

解法二:字符反转

var isPalindrome = function(head) { let temp=[] while(head){ temp.push(head.val) head=head.next; } if(temp.join("")==temp.reverse().join("")){ return true; } return false; };

执行情况 Tip

此题读起来是需要使用链表数据结构来解,但其实换个思维,转换成字符串可以让解题来得更直观。

标签:

【leetcode】力扣热门之回文链表【简单难度】由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【leetcode】力扣热门之回文链表【简单难度】