题目说明:
题目解读:
完善stack的添加和取出元素函数
完善queue添加和取出元素函数
示例代码:
// Day18_QueuesandStacks.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <windows.h>
#include <string>
#include <stack>
#include <queue>
#include <iostream>
using namespace std;
class Solution
{
public:
stack<char> v_stack;
queue<char> v_queue;
//pushes a character onto a stack
void pushCharacter( char ch )
{
v_stack.push( ch );
}
//enqueues a character in the queue
void enqueueCharacter( char ch )
{
v_queue.push( ch );
}
//pops and returns the character at the top of the stack
char popCharacter()
{
return v_stack.top();
}
// dequeues and returns the first character in the
char dequeueCharacter()
{
return v_queue.front();
}
};
//by zhaocl
int main()
{
string s;
getline( cin, s );
Solution obj;
for( int i = 0; i < s.length(); i++ )
{
obj.pushCharacter( s[i] );
obj.enqueueCharacter( s[i] );
}
bool isPalindrome = true;
for( int i = 0; i < s.length() / 2; i++ )
{
if( obj.popCharacter() != obj.dequeueCharacter() )
{
isPalindrome = false;
break;
}
}
if( isPalindrome )
{
cout << "The word, " << s << ", is a palindrome.";
}
else
{
cout << "The word, " << s << ", is not a palindrome.";
}
system( "pause" );
return 0;
}
基础知识点:
1、stack后进先出
2、queue先进先出