文档章节

234. Palindrome Linked List

初雪之音
 初雪之音
发布于 2017/02/23 21:27
字数 130
阅读 5
收藏 0

Given a singly linked list, determine if it is a palindrome.

Follow up:
Could you do it in O(n) time and O(1) space?

代码:

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
public class Solution {
    public boolean isPalindrome(ListNode head) {
		boolean result = true;

		if (head != null && head.next != null) {
			ListNode slow = head;
			ListNode fast = head;
			while (fast != null && fast.next != null) {
				slow = slow.next;
				fast = fast.next.next;
			}
			if (fast != null) {
				slow = slow.next;
			}
			slow = reverse(slow);
			fast = head;
			while (slow != null) {
				if (fast.val != slow.val) {
					result = false;
					break;
				}
				fast = fast.next;
				slow = slow.next;
			}
		}

		return result;
	}

	public ListNode reverse(ListNode head) {
		ListNode result = null;

		ListNode pre = null;
		while (head != null) {
			ListNode tempNext = head.next;
			head.next = pre;
			pre = head;
			head = tempNext;
		}
		result = pre;

		return result;
	}
}

 

© 著作权归作者所有

共有 人打赏支持
初雪之音
粉丝 44
博文 265
码字总数 148651
作品 0
广州
程序员
234. Palindrome Linked List - LeetCode

Question 234. Palindrome Linked List Solution 题目大意:给一个链表,判断是该链表中的元素组成的串是否回文 思路:遍历链表添加到一个list中,再遍历list的一半判断对称元素是否相等,注...

yysue
07/10
0
0
LeetCode目录。

按照LeetCode的Tags来区分的话,目前共有34个Tag,只列出已经解决的题,各分类中按照题目编号排序: Linked List。 Solved:21/28 Array。

Leafage_M
2017/11/21
0
0
LeetCode:Palindrome Linked List - 回文链表

1、题目名称 Palindrome Linked List(回文链表) 2、题目地址 https://leetcode.com/problems/palindrome-linked-list/ 3、题目内容 英文:Given a singly linked list, determine if it i......

北风其凉
2015/12/18
196
0
LeetCode Question Difficulty Distribution 问题难度和频率分布

Leetcode问题难度和频率分布表 引用自: https://zephyrusara.blogspot.jp/2014/07/leetcode-question-difficulty.html LeetCode Question Difficulty Distribution : Sheet1......

xidiancoder
2017/09/10
0
0
决战Leetcode: easy part(1-50)

本博客是个人原创的针对leetcode上的problem的解法,所有solution都基本通过了leetcode的官方Judging,个别未通过的例外情况会在相应部分作特别说明。 欢迎互相交流! email: tomqianmaple@...

qq_32690999
01/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ubuntu 18.04 desktop 截图快捷键

如图,点击下方的 add shortcut 为这个快捷键命名 输入截图 command gnome-screenshot -a 设置快捷键 常用为 Ctrl - Alt + a 参考 http://os.51cto.com/art/200903/113091_all.htm...

公孙衍
33分钟前
0
0
一个六年Java程序员的从业总结:比起掉发,我更怕掉队

恍然间,发现自己在这个行业里已经摸爬滚打了五、六年了,原以为自己就凭已有的项目经验和工作经历怎么着也应该算得上是一个业内比较资历的人士了,但是今年在换工作的过程中却遭到了重大的挫...

老道士
35分钟前
16
2
Spacemacs快捷键

由于Spacemacs快捷键太多,为方便使用,将常用的快捷键记录在此。 以下快捷键都是在emacs的evil模式下 Buffers操作 创建名称为<buffer-name>的buffer SPC b b <buffer-name> 从已打开的buf...

yxmsw2007
40分钟前
1
0
GO冒泡,二分查找

package mainimport("fmt")func main() {var arr [5]int = [5]int{11,13,9,2,25}maopao(&arr)fmt.Println("arr = ", arr) //[2 9 11 13 25]findIndex := binaryFind(&arr, 0......

汤汤圆圆
今天
1
0
工作2年半跳槽面试阿里,成功拿到offer,凭什么?

2015年刚毕业的我,进入了一家小小的公司实习工作,在学校学了三年软件开发的我,还是想去寻找一份互联网行业的工作,这样更能学以致用发挥自己的特长。一直到18年三月份,我辞掉已有的工作,...

java知识分子
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部