给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。
示例 1:
输入:head = [1,2,2,1]
输出:true
示例 2:
输入:head = [1,2]
输出:false
总结:
- 今天的题目比较简单所以就没有怎么写注释了
- 考虑更加高效的算法?
- 奥若稽古,圣人之在天地间也,为众生之先
参考代码
public boolean isPalindrome(ListNode head) {
ListNode temp = head;
ListNode temp2 = head;
Stack<Integer> stack = new Stack<>();
while (temp != null){
stack.push(temp.val);
temp = temp.next;
}
while (!stack.isEmpty()){
if (temp2.val != stack.pop()){
return false;
}
temp2 = temp2.next;
}
return true;
}
题目来源力扣链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnv1oc/