您的位置:首页 > Web前端

剑指offer部分题目整理

2017-09-11 17:14 337 查看
以下为本人做t归整的个人觉得比较易懂的代码

#include <list>
#include <vector>
#include <iostream>
#include <map>
#include <stack>
using namespace std;
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};
class Solution
{
public:
bool Find(int target, vector<vector<int> > array) {/*二维数组查找*/
map<int, bool>mp;
for (int i = 0;i < array.size();i++)
{
for (int j = 0;j < array[i].size();j++)
{
mp[array[i][j]] = true;
}
}
return mp.find(target) != mp.end();
}

vector<int> printListFromTailToHead(ListNode* head) /*尾头打印链表*/
{
vector<int> res;
stack<int> s;
if (head == NULL)
return res;
ListNode* p = head;
while (p != NULL) {
s.push(p->val);
p = p->next;
}
while (!s.empty()) {
res.push_back(s.top());
s.pop();
}
return res;
}

};
int main()
{
Solution s1;
/*vector<vector<int> > a(2,vector<int>(2));
a[0][0] = 1;
a[0][1] = 2;
a[1][0] = 3;
a[1][1] = 4;*/
//cout << s1.Find(4, a)<<endl;

/*ListNode L1(0);
ListNode L2(5);
ListNode L3(6);
L1.next = &L2;
L2.next = &L3;
vector<int> a = s1.printListFromTailToHead(&L1);
for (int i=0;i<a.size();i++)
{
cout << a[i] << " ";
}*/

getchar();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++-笔试
相关文章推荐