Leetcode 春季打卡活动 第一题:225. 用队列实现栈 Leetcode 春季打卡活动 第一题:225. 用队列实现栈 解题思路 这里用了非常简单的思路,就是在push函数上做点操作,让队头总是最后一个元素即可. 也就是说,每新进一个新元素,就把前面的所有元素逐个弹出放到队尾即可. Talk is cheap . Show me the code . class MyStack { public: queue<int> que; int size,temp; /** Initializ…
Leetcode春季打卡活动 第二题:206. 反转链表 206. 反转链表 Talk is cheap . Show me the code . /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* h…
Leetcode春季打卡第四天:994. 腐烂的橘子 Leetcode春季打卡第四天:994. 腐烂的橘子 思路 思路是采用广度优先搜索,一层一层遍历. 首先先扫描矩阵,将坏橘子放进队列,记录正常橘子的个数. 正常橘子个数为零,直接返回0 不为零就开始BFS 开始按层数层序遍历,将队列里的坏橘子放出来,去找会被污染的正常橘子,将其加入队列. 每次正常橘子加入队列更新矩阵情况,并将正常橘子的个数减一 每历遍完一层,更新需要的时间,自加 返回答案,如果正常橘子全军覆没,返回污染时间,没有全军覆没,返…
##225. 用队列实现栈 如题 ###题解 在push时候搞点事情:push时入队1,在把队2的元素一个个入队1,再交换队2和队1,保持队1除pushguocheng 始终为空. ###代码 class MyStack { private Queue<Integer> q1; private Queue<Integer> q2; /** Initialize your data structure here. */ public MyStack() { q1=new Linked…
225. 用队列实现栈 使用队列实现栈的下列操作: push(x) – 元素 x 入栈 pop() – 移除栈顶元素 top() – 获取栈顶元素 empty() – 返回栈是否为空 注意: 你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的. 你所使用的语言也许不支持队列. 你可以使用 list 或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可. 你可以假设所有操…
一.函数的运用 1,strstr(a,b); 判断b是否为a的子串,如果是,返回从b的开头开始到a的结尾 如“abcdefgh” “de” 返回“defgh”: 如果不是子串,返回NULL: 2,memcpy(a,b+n,c); 将b串从第n位后的c个字符串复制到a中,返回a串: (注:做完函数后需要添加上b[c] = '\0') 如果吧b+n换成b就是从头开始 将代码换成 memcpy(arr[cnt], words[i], strlen(words[i])+); 就是直接复制words[i]…
public class Solution { public String reverseWords(String s) { if(s==null||s.length()==0) return ""; s=reverse(s); String s2[]=s.split("\\s+"); StringBuffer sbf=new StringBuffer(); for(int i=0;i<s2.length;i++) { sbf.append(reverse(s…
Given a permutation P of 1 to N, YY wants to know whether there exists such three elements P[i 1], P[i 2], P[i 3] that P[i 1]-P[i 2]=P[i 2]-P[i 3], 1<=i 1<i 2<i 3<=N. InputThe first line is T(T<=60), representing the total test cases. Each…
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4106 访问. 使用队列实现栈的下列操作: push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空 注意: 你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的. 你所使用的语…
Leetcode春季活动打卡第三天:面试题 10.01. 合并排序的数组 Leetcode春季活动打卡第三天:面试题 10.01. 合并排序的数组 思路 这道题,两个数组原本就有序.于是我们采用双指针法完成题目. 又由于A本身就预留了足够的空间,于是我们的双指针就逆向执行,即从大到小移动,直接从A数组的最后开始覆盖.这样就不需要引用额外的临时数组. 不用考虑A数组的有效值是否会被覆盖.因为只有当A数组的位置没给够的情况下才会出现覆盖有效值的情况. Talk is cheap . Show me…