【easy】234. Palindrome Linked List
ques: 判断一个链表是否回文 Could you do it in O(n) time and O(1) space?
method:先将链表分为两部分,将后半部分反转,最后从前往后判断是否相等。
topic: 链表,链表反转
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public:bool isPalindrome(ListNode *head) { //input check abcba abccba if(head == NULL || (head&&head->next==NULL)) return true; ListNode *middle = partition(head); middle = reverse(middle); while(head!=NULL && middle!=NULL) { if(head->val != middle->val) return false; head = head->next; middle = middle->next; } return true; } private: ListNode* partition(ListNode *head) { ListNode* p = head; while(p&&p->next!=NULL && p->next->next!=NULL) { p = p->next->next; head = head->next; } p = head->next; head->next = NULL; return p; } private: ListNode* reverse(ListNode *head) { if(head==NULL || head->next==NULL) return head; ListNode* pre = head; ListNode* cur = head->next; pre->next = NULL; ListNode* nxt = NULL; while(cur!=NULL) { nxt = cur->next; cur->next = pre; pre = cur; cur = nxt; } return pre; } };
转载于:https://www.cnblogs.com/sherry-yang/p/8245187.html
【easy】234. Palindrome Linked List相关推荐
- 【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) t ...
- 【easy】206. Reverse Linked List 链表反转
链表反转,一发成功~ /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* Li ...
- 【回文串7】LeetCode 234. Palindrome Linked List
LeetCode 234. Palindrome Linked List Solution1:我的答案 一遍过,哈哈哈! /*** Definition for singly-linked list. ...
- 【leetcode】132. Palindrome Partitioning II
题目如下: 解题思路:本题是[leetcode]131. Palindrome Partitioning的升级版,要求的是求出最小cuts,如果用[leetcode]131. Palindrome P ...
- 170. Two Sum III - Data structure design【easy】
170. Two Sum III - Data structure design[easy] Design and implement a TwoSum class. It should suppor ...
- 【LeetCode】【HOT】234. 回文链表(存入数组)
[LeetCode][HOT]234. 回文链表 文章目录 [LeetCode][HOT]234. 回文链表 package hot;import java.util.ArrayList; impor ...
- 26. Remove Duplicates from Sorted Array【easy】
26. Remove Duplicates from Sorted Array[easy] Given a sorted array, remove the duplicates in place s ...
- 【TensorRT】TensorRT was linked against cudnn 8.6.0 but loaded cudnn 8.3.2
[TensorRT]TensorRT was linked against cudnn 8.6.0 but loaded cudnn 8.3.2 1 电脑环境 2 问题描述 3 直接原因 4 解决办法 ...
- 234. Palindrome Linked List - Easy
Given a singly linked list, determine if it is a palindrome. Example 1: Input: 1->2 Output: false ...
最新文章
- 1. 编程规范和编程安全指南--python
- IT项目管理总结:第五章 项目范围管理
- wxWidgets:wxValidator概述
- java项目部署到linux上面,把我的Java项目部署到Linux系统
- html引入百度地图报错,vue引入百度地图BMapGL,或者其他个性化地图
- 中html倒入css那么套路,CSS常用套路
- 解决word、excel、ppt文件图标是空白的问题
- 对Windows学习的总结
- Atitit.java 虚拟机的构成 与指令分类 与 指令集合 以及字节码查看工具javjap
- 美国的卫星导航系统服务器,中国的北斗卫星和美国的gps到底哪个更厉害?
- python爬虫扇贝单词库
- c++primer学习笔记
- 昨天搭完梯子之后就打不开12306查询的网页了
- 移动小人Python程序
- Python 基础torch.stack(tensors: Union[Tuple[Tensor, ...], List[Tensor]], dim: _int=0, *, out: Option)
- JAVA日志技术 Logback
- 模拟UNIX/Linux 文件系统 c语言
- Chrom/Edge浏览器将网页另存为图片
- 说说@Transactional(readOnly = true),和mysql事务隔离级别;
- Vue.js最最最基础入门的笔记整理