问题描述:
给你一个单链表的头节点 head
,请你判断该链表是否为
回文链表
。如果是,返回 true
;否则,返回 false
。
示例 1:
输入:head = [1,2,2,1] 输出:true
示例 2:
输入:head = [1,2] 输出:false
提示:
- 链表中节点数目在范围
[1, 105]
内 0 <= Node.val <= 9
上代码,拿去即可运行:
package com.onlyqi.daydayupgo01.suanfa;
import com.onlyqi.daydayupgo01.test.ListNode;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
public class Test16 {
public static void main(String[] args) {
ListNode listFirst6 = new ListNode(1, null);
ListNode listFirst5 = new ListNode(2, listFirst6);
ListNode listFirst4 = new ListNode(3, listFirst5);
ListNode listFirst3 = new ListNode(3, listFirst4);
ListNode listFirst2 = new ListNode(2, listFirst3);
ListNode listFirst1 = new ListNode(1, listFirst2);
System.out.println("==========onlyqi========" + isPalindrome(listFirst1));
}
public static boolean isPalindrome(ListNode head) {
List<Integer> integerList = new ArrayList<>();
while (!Objects.isNull(head)) {
integerList.add(head.getNum());
head = head.getNetxt();
}
int count = integerList.size() - 1;
for (int i = 0; i < integerList.size(); i++) {
if (integerList.get(i) != integerList.get(count)) {
return false;
}
if (i >= count) {
return true;
}
count--;
}
return false;
}
}
运行结果:
慢慢来才是最快的方法--天涯明月 共勉
我要刷300道算法题,第136道 。 希望自己可以坚持下去 。
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » Leetcode234. 回文链表
发表评论 取消回复