leetcode-初级-链表-回文链表(JavaScript)(完美满足要求)
2018-09-08 16:00
357 查看
请判断一个链表是否为回文链表。
示例 1:
输入: 1->2 输出: false
示例 2:
输入: 1->2->2->1 输出: true
进阶:
你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?
思路:
O(n)的时间复杂度意味着只能遍历一趟链表,O(1)的空间复杂度意味着只能使用常数个变量(也就是不能使用数组、集合等变量)。
于是想到,设置两个字符串变量,一个保存正向的链表元素,一个保存反向的链表元素,遍历完判断是否相等即可。
[code]/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } */ /** * @param {ListNode} head * @return {boolean} */ var isPalindrome = function(head) { let str = '', // 正向 str_reverse = '' // 反向 while (head) { str += head.val; str_reverse = head.val + str_reverse; head = head.next; } return str === str_reverse; };
阅读更多
相关文章推荐
- LeetCode-初级-链表-环形链表(JavaScript)
- 每天一道leetcode234-回文链表
- 【Leetcode】234. Palindrome Linked List -判断链表是否为回文序列
- Leetcode 234. 回文链表
- leetcode 234. Palindrome Linked List-回文链表|双指针
- leetcode 237删除链表中的节点(只给定要求被删除的节点)
- 每天一道LeetCode-----将链表中满足条件的节点移动到前面
- leetcode 用fast-slow 指针的方法判断链表是否为回文链表。
- LeetCode Palindrome Linked List (回文链表)
- (LeetCode)Palindrome Linked List --- 单链表回文
- [LeetCode-234] Palindrome Linked List(回文链表、链表中间节点查找)
- LeetCode 234 Palindrome Linked List(回文链表)(*)(?)
- 【 Javascript刷LeetCode系列】5. Longest Palindromic Substring 最长回文子串问题
- [分析总结:leetcode-Palindrome Linked List] 给定单链表,判断链表是否为回文。
- leetcode - 234. Palindrome Linked List【判断回文链表 + 双指针 + O(1)空间复杂度】
- leetcode234---Palindrome Linked List(回文链表)
- 每天一道LeetCode-----链表排序,要求复杂度在O(nlogn)
- [LeetCode] Path Sum 求二叉树中满足要求的路径
- LeetCode234_PalindromeLinkedList (判断是否为回文链表) Java题解