博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 234. Palindrome Linked List判断链表是否回文
阅读量:4185 次
发布时间:2019-05-26

本文共 1302 字,大约阅读时间需要 4 分钟。

/************************************************************************

* Given a singly linked list, determine if it is a palindrome.
*
* Follow up:
* Could you do it in O(n) time and O(1) space?
************************************************************************/
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/

class Solution {public:    //find the mid in the List    ListNode* findMid(ListNode* head) {        ListNode *slow=head,*fast=head;         while (fast&&fast->next) {            fast=fast->next->next;            slow=slow->next;        }        return slow;    }    //reverse the hafl List    ListNode* reverse(ListNode* head) {       ListNode *pre=head;ListNode* cur=pre->next;       pre->next=NULL;       while (cur) {           ListNode *nxt=cur->next;           cur->next=pre;           pre=cur;           cur=nxt;       }       return pre;    }    bool isPalindrome(ListNode* head) {        if (head==NULL||head->next==NULL) return true;        ListNode *mid=findMid(head);        ListNode *pre=reverse(mid);        while (pre) {            if (pre->val!=head->val)                return false;            pre=pre->next;            head=head->next;        }        return true;    }};

转载地址:http://apdoi.baihongyu.com/

你可能感兴趣的文章
何谓“pessimistic”异步FIFO的full和empty信号
查看>>
*Error* illegal LHS in continous assignment
查看>>
Cadence IUS 之一:简介
查看>>
在gvim中使用Emacs verilog mode的verilog代码自动插入和自动插入撤销的方法。
查看>>
Emacs Verilog mode 简单使用指南
查看>>
AXI 总线基本概念1 - 如何理解outstanding传输
查看>>
DDR3基本概念1 - 存储单元结构和原理
查看>>
verilog 基础原理1 - RTL中对数据位宽的管理
查看>>
Cadence IUS 之二: 生成波形
查看>>
DDR3基本概念2 - 上电复位时序
查看>>
DDR3基本概念3 - 复位初始化实战举例Lattice DDR3 IP仿真
查看>>
Lattice clarity designer在linux平台下无法找到已安装的IP的解决办法
查看>>
DDR3基本概念4 - 预充电和刷新,以及Lattice DDR3 SDRAM controller实战注意事项
查看>>
DDR3基本概念5 - DDR仿真中出现的Memory overflow错误的处理
查看>>
DDR3基本概念6 - Write leveling(写入均衡)
查看>>
DDR3基本概念7 - 写操作,以及Lattice DDR3 SDRAM controller实战
查看>>
verilog 基础原理1 - Testbench的initial中的时间节点的判断
查看>>
Cadence IUS 之三:代码覆盖率分析
查看>>
Lattice FPGA 使用指南3 - 如何用第三方仿真工具跑后仿及波形分析
查看>>
Cadence IUS 之四:生成verdi的fsdb波形时的问题分析
查看>>