
数据结构
唐朝的李白
这个作者很懒,什么都没留下…
展开
-
不带头结点的链表的建立和打印
#include<iostream> using namespace std; #define NUM (4000) //打算生成一个含4000个结点的链表,你也可以任意改变 typedef int ElementType;//链表元素的类型,这里设置为int,你可以设置其他类型 /*定义链表的结点结构:包含结点的值和指向下一节点的指针*/ typedef struct listN...原创 2018-09-11 23:02:29 · 530 阅读 · 0 评论 -
从尾到头打印大链表
class Solution { public: vector<int> printListFromTailToHead(ListNode* head) { stack<int> stk; ListNode *p = head; while(p != nullptr) { st...原创 2019-02-26 22:56:50 · 131 阅读 · 0 评论 -
LeetCode-111 二叉树的最小深度
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ cla...原创 2019-03-03 11:26:15 · 122 阅读 · 0 评论 -
LeetCode-144 二叉树的前序遍历
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ cla...原创 2019-03-03 11:12:13 · 132 阅读 · 0 评论 -
翻转字符串中各单词的在句子中的顺序
class Solution { public: string ReverseSentence(string str) { string res = str; if(str == "") return res; int start = 0; int end = 0; int cur =...原创 2019-03-05 20:45:56 · 256 阅读 · 0 评论 -
求链表第一个公共节点
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: size_t getLengthOfList(ListNode *head) { size_t res ...原创 2019-03-05 19:52:07 · 129 阅读 · 0 评论 -
LeetCode-771 宝石与石头
class Solution { public: int numJewelsInStones(string J, string S) { unordered_set<char> jewel; for(int i = 0; i < J.size(); i++) jewel.insert(J[i]); int num = 0; for...原创 2019-02-25 22:03:07 · 136 阅读 · 0 评论 -
LeetCode-26 删除排序数组中的重复项
class Solution { public: int removeDuplicates(vector<int>& nums) { int left = 0;//[0,left]之间是已剔除重复元素的序列 int right = 1;//用于找下一个不重复的元素 int res = nums.size(); while(right < nums...原创 2019-02-24 13:47:37 · 277 阅读 · 0 评论 -
LeetCode-27 移除元素
class Solution { public: int removeElement(vector<int>& nums, int val) { int left = 0;//[0, left)之间的元素都不是要被移除的元素 int right = nums.size() - 1;//(right, nums.size()-1]之间的元素都是被移除...原创 2019-02-24 13:20:11 · 140 阅读 · 0 评论 -
LeetCode-283 移动零
class Solution { public: void moveZeroes(vector<int>& nums) { int left = 0;//[0,left)都是非0元素 int right = 0;//从当前第一个非0位置开始找0 while(right < nums.size()) { if(nums[right]...原创 2019-02-24 12:34:50 · 139 阅读 · 0 评论 -
LeetCode-225 用队列实现栈
用一个队列实现栈,主要是在pop和top时,先把队列前面的size-1个元素移到队列尾部,再对对头元素进行操作。 #include<queue> class MyStack { public: /** Initialize your data structure here. */ MyStack() { } /** Pus...原创 2019-02-23 20:44:13 · 189 阅读 · 0 评论 -
LeetCode-19 删除链表的倒数第N个节点
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* r...原创 2019-02-23 16:18:52 · 116 阅读 · 0 评论 -
LeetCode-203 移除链表元素
/*移除链表中的元素(带虚拟头节点版本)*/ class Solution { public: ListNode* removeElements(ListNode* head, int val) { ListNode *dummyHead = new ListNode(-1); dummyHead->next = head; ListNode *preNo...原创 2019-02-22 23:58:10 · 125 阅读 · 0 评论 -
LeetCode-102 二叉树的层序遍历
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ cla...原创 2019-03-03 11:39:35 · 181 阅读 · 0 评论