南通建设厅网站,做网站素材,wordpress谷歌字体,wordpress主页显示浏览数给你一个单链表的头节点 head #xff0c;请你判断该链表是否为回文链表。如果是#xff0c;返回 true #xff1b;否则#xff0c;返回 false
输入#xff1a;head [1,2,2,1]
输出#xff1a;true采用动态数组#xff0c;判断数组对称就可以了#xff08;这解法空间…给你一个单链表的头节点 head 请你判断该链表是否为回文链表。如果是返回 true 否则返回 false
输入head [1,2,2,1]
输出true采用动态数组判断数组对称就可以了这解法空间复杂度o(n)
package TOP21_30;import Util.ListNode;import java.util.ArrayList;
import java.util.List;// 回文链表
//给你一个单链表的头节点 head 请你判断该链表是否为回文链表。如果是返回 true 否则返回 false 输入head [1,2,2,1]
//输出true
public class Top22 {public static boolean isPalindrome(ListNode head) {ListInteger list new ArrayList();while (head ! null) {list.add(head.val);head head.next;}int length list.size();int k length / 2;for (int i 0; i k; i) {if (list.get(i) ! list.get(length - 1 - i)) {return false;}}return true;}public static void main(String[] args) {int[] nums {1,2,3,2,1};ListNode node ListNode.setNodes(0,nums);ListNode.printListData(node);int[] nums2 {1,0,0};System.out.println(isPalindrome(ListNode.setNodes(0,nums2)));}
}ListNode 类
package Util;public class ListNode {public int val;public ListNode next;public ListNode() {}public ListNode(int val) {this.val val;}public ListNode(int val, ListNode next) {this.val val;this.next next;}public static ListNode setNodes(int index,int[] nums){ListNode res new ListNode();res.val nums[index];if(index nums.length-1){res.next null;return res;}else{res.next setNodes(index1,nums);}return res;}public static void printListData(ListNode node){while (node!null){System.out.println(node.val);node node.next;}}
}harryptter / LeetcodeTop100 · GitCode