234. Palindrome Linked List - Easy
Given a singly linked list, determine if it is a palindrome.
Example 1:
Input: 1->2 Output: false
Example 2:
Input: 1->2->2->1 Output: true
Follow up:
Could you do it in O(n) time and O(1) space?
找中点,反转后半部分,再一一比较
time: O(n), space: O(1)
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; }* }*/ class Solution {public boolean isPalindrome(ListNode head) {if(head == null || head.next == null) {return true;}ListNode fast = head, slow = head;while(fast.next != null && fast.next.next != null) {fast = fast.next.next;slow = slow.next;}ListNode p1 = head, p2 = reverse(slow.next);slow.next = null;while(p1 != null && p2 != null) {if(p1.val != p2.val) {return false;}p1 = p1.next;p2 = p2.next;}return true;}private ListNode reverse(ListNode head) {if(head == null || head.next == null) {return head;}ListNode prev = null, cur = head;while(cur != null) {ListNode next = cur.next;cur.next = prev;prev = cur;cur = next;}return prev;} }
转载于:https://www.cnblogs.com/fatttcat/p/10178105.html
234. Palindrome Linked List - Easy相关推荐
- 【回文串7】LeetCode 234. Palindrome Linked List
LeetCode 234. Palindrome Linked List Solution1:我的答案 一遍过,哈哈哈! /*** Definition for singly-linked list. ...
- 【easy】234. Palindrome Linked List
ques: 判断一个链表是否回文 Could you do it in O(n) time and O(1) space? method:先将链表分为两部分,将后半部分反转,最后从前往后判断是否相等. ...
- [LeetCode] 234. Palindrome Linked List 回文链表
Given a singly linked list, determine if it is a palindrome. Example 1: Input: 1->2 Output: false ...
- 234. Palindrome Linked List
Given a singly linked list, determine if it is a palindrome. Follow up: Could you do it in O(n) time ...
- LeetCode 234. Palindrome Linked List
题目: Given a singly linked list, determine if it is a palindrome. 思路: 给定一个链表,判断它是不是回文链表 根据链表的奇偶分情况,然后 ...
- [LeetCode] 234. Palindrome Linked List_Easy tag: Linked List
Given a singly linked list, determine if it is a palindrome. Example 1: Input: 1->2 Output: false ...
- LeetCode 234 Palindrome Linked List
Given a singly linked list, determine if it is a palindrome. 思路: 回文结构从后向前遍历与从前向后遍历的结果是相同的,可以利用一个栈的结构 ...
- leetcode python3 简单题234. Palindrome Linked List
1.编辑器 我使用的是win10+vscode+leetcode+python3 环境配置参见我的博客: 链接 2.第二百三十四题 (1)题目 英文: Given a singly linked li ...
- [swift] LeetCode 234. Palindrome Linked List
Given a singly linked list, determine if it is a palindrome. Follow up: Could you do it in O(n) time ...
最新文章
- java substring 性能_《Java程序性能优化》subString()方法的内存泄露
- 协防差_西班牙男篮的投篮比美国还差 为什么在2019年世界杯夺冠
- 美国国家科学院发布:材料有哪些研究前沿?
- 第58件事 借势文案创作实例
- ajax后台如何把对象转为json_57. Django 2.1.7 查询数据返回json格式
- 新手入门深度学习 | 3-1:数据管道Dataset
- MYSQL数据库注释
- docker简介以及优缺点
- 关于Log4j的初始化
- diskgenius创建efi分区_DISKGEN 专业版修改硬盘为GPT分区 ESP分区图文教程
- SharePoint 2010 中有个新的列表模板“导入电子表格”可以直接导入Excel数据并创建为列表 ....
- java坦克代码_Java坦克大战源代码
- JAVAEE工程师-2年经验-个人简历
- TD回撤/斐波那契回撤
- StrokeIt 按键列表
- 慕课网风袖小程序 一一第一阶段
- iOS底层weak的实现原理
- linux修改密码时候提示太简单了怎么办,linux修改密码
- w500 安装 gentoo相关优化
- PHP 常用函数 - 数组函数