题解 | #链表的回文结构#

链表的回文结构

http://www.nowcoder.com/practice/d281619e4b3e4a60a2cc66ea32855bfa

这道题上写着知识点是链表和栈,那么我们可以利用栈来解决这道题

时间复杂度为O(N) 空间复杂度为O(N)

import java.util.*;
public class PalindromeList {
    public boolean chkPalindrome(ListNode A) {
        Stack<Integer> stack = new Stack<>();
        ListNode B=A;
        int count1=0;
        int count2=0;
        //遍历链表,得到链表长度
        while(B!=null){
            count1++;
            B=B.next;
        }
        count1/=2;
        count2=count1;
        //遍历一半链表,将链表元素入栈
        while(count1>0){
            count1--;
            stack.push(A.val);
            A=A.next;
        }
        //遍历后半部分链表
        while(count2>0){
            count2--;
            //如果链表元素和出栈元素相等,继续遍历,直到遍历结束
            if(stack.pop()==A.val){
                A=A.next;
            }else{//如果链表元素与出栈元素不相等,直接返回false
                return false;
            }
        }
        return true;
    }
}
全部评论
如果要是5个数据,一直都是False啊
1 回复 分享
发布于 2023-01-04 15:19 黑龙江

相关推荐

点赞 评论 收藏
分享
tttk_:就是人多。 有的是条件和你差不多然后没在od待过的人。 所以就拿这个筛你了。 就和卡学历一样,人太多了。 从公司角度,这样做节省精力,更方便。 没办法谁叫现在人多呢
第一份工作能做外包吗?
点赞 评论 收藏
分享
Lorn的意义:1.你这根本就不会写简历呀,了解太少了 2.你这些项目经历感觉真的没啥亮点啊,描述的不行,重写书写一下让人看到核心,就继续海投 注意七八月份ofer还是比较多的,越往后机会越少,抓住时机,抓紧检查疏漏,加油查看图片
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务