leetcode hot 19
1.leetcode hot 012.leetcode hot 023.leetcode hot 044.leetcode hot 035.leetcode hot 056.leetcode hot 067.leetcode hot 078.leetcode hot 089.leetcode hot 0910.leetcode hot 1011.leetcode hot 1212.leetcode hot 1313.leetcode hot 1414.leetcode hot 1515.leetcode hot 1116.leetcode hot 1617.leetcode hot 1718.leetcode hot 18
19.leetcode hot 19
20.leetcode hot 2021.leetcode hot 2122.leetcode hot 2223.leetcode hot 2324.leetcode hot 2425.leetcode hot 25解题思路:这题思路主要是用某个容器(数组等)来存储链表,然后再用双指针或者同时遍历的方法就可以判断。我使用栈进行存储,出栈的元素相当于链表倒序,如果和链表正序的结果相同就证明是回文。如果想用O(1)的空间,就把前一半或后一半的链表倒转,然后遍历就可以了。
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public boolean isPalindrome(ListNode head) {
Deque<Integer> deque = new LinkedList<>();
ListNode p = head;
while(p!=null){
deque.push(p.val);
p=p.next;
}
ListNode q = head;
while(q!=null){
if(q.val!=deque.peek()) return false;
deque.pop();
q = q.next;
}
return true;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~