律师网站建设建议,做公司网站麻烦吗,做网站卖东西送上门,口碑好的网站建设方法有哪些题目描述
给你一个单链表的头节点 head #xff0c;请你判断该链表是否为回文链表。如果是#xff0c;返回 true #xff1b;否则#xff0c;返回 false 。
用例
输入#xff1a;head [1,2,2,1] 输出#xff1a;true 输入#xff1a;head [1,2] 输出#xff1a;f…题目描述
给你一个单链表的头节点 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)headhead.next;}let left0;let righttemp.length-1;while(leftright){if(temp[left]!temp[right])return false;left;right--;}return true;
};解法二字符反转
var isPalindrome function(head) {let temp[]while(head){temp.push(head.val)headhead.next;}if(temp.join()temp.reverse().join()){return true;}return false;
};执行情况 Tip 此题读起来是需要使用链表数据结构来解但其实换个思维转换成字符串可以让解题来得更直观。