网站开发项目实训总结,网站建设一般需要多久,企业宣传手册模板,重庆建设网官网package com.chenyu.zuo.linkedList;import com.chenyu.zuo.linkedList.PrintCommonPart.Node;/*** 题目:给定一个头结点,判断该链表是否回文结构 * 例如: * 1-2-1 true * 1-2-2-1 true * 1-2-3 false *思路:*我们只需要几个变量,额外空…package com.chenyu.zuo.linkedList;import com.chenyu.zuo.linkedList.PrintCommonPart.Node;/*** 题目:给定一个头结点,判断该链表是否回文结构 * 例如: * 1-2-1 true * 1-2-2-1 true * 1-2-3 false *思路:*我们只需要几个变量,额外空间复杂度为0(1),*可以在时间复杂度o(N)内完成所有的过程*改变链表的右半区的结构,使整个右半区反转,最后指向中间节点*比如1-2-3-2-1*变成如下结构*1-2-* 3-null*1-2-**1-2-3-3-2-1*变成如下结构*1-2- 3-null*1-2-3-*然后从左边和右边分别移动,如果每移动一步每个节点的值都相等*那么就是回文结构,不然不是*最后结果不管怎么样,我们应该把链表恢复原来的样子*/
public class IsPalindrome3 {public static class Node{//内部类public Node next;public int value;public Node(int value){this.value=value;}}public boolean isPalindrome(Node head){if(head==null || head.next == null){r