C++用双链表检测回文数(palindrome number)

来源:互联网 发布:苹果6s怎么设置4g网络 编辑:程序博客网 时间:2024/05/29 17:17
#include <iostream>using namespace std; class LinkNode    {        public:        LinkNode* ltr ,*rtr;        char data;    };    class LinkList    {    public:        LinkNode* head , *rear;    };class Solution:public LinkNode,public LinkList{    int n;public:    Solution(){}    LinkNode* creat(int n);    bool palindromeNumber(LinkNode*head,LinkNode *rear);}; LinkNode* Solution::creat(int n)    {        int i;        LinkNode* tmp=new LinkNode;        head=rear=tmp;        tmp->ltr=NULL;        cin>>tmp->data;        tmp->rtr=NULL;        for(i=1 ; i<n ; ++i)        {            tmp=new LinkNode;            tmp->ltr=rear;            rear->rtr=tmp;            rear=tmp;            cin>>tmp->data;            tmp->rtr=NULL;        }        return rear;    } bool Solution::palindromeNumber(LinkNode*head,LinkNode *rear)    {       while(rear!=head)       {           if(head->data!=rear->data)            return false;           head=head->rtr;           rear=rear->ltr;       }       return true;    }int main(){    int b;cin>>b;    Solution a;    a.creat(b);  cout<<a.palindromeNumber(a.head,a.rear)<<endl;}
原创粉丝点击