CSMania

You may say I'm a Programmer, but I'm not the only one

代码随想录算法训练营第十七天| 二叉树

110.平衡二叉树 因为这道题需要求高度,所以得用后序遍历。昨天有一道题是求最大深度的,可以用后序遍历做出来,但我没按那个方法写。就先做了求最大深度的题。理解的不够,以后还得再做一遍。 class Solution { public: int result; void getDepth(TreeNode* cur,int dep){ if(result <...

代码随想录算法训练营第十五天| 二叉树

二叉树的最大深度 & n叉树的最大深度 这道题前几天用迭代法做了一遍,今天试着用递归法做,其实稀里糊涂的给蒙出来了。 class Solution { public: int depth(TreeNode* cur, int dep){ if(cur == nullptr){ return dep; } ...

代码随想录算法训练营第十四天| 二叉树

层序遍历 费劲巴力的写出来了迭代法的层序遍历。中心思想其实是懂的,只不过出现了各种小错误。 比如在首个root node那里我就push back了一遍结果,但是在forloop里面又来了一次。再比如在pre_size和cur_st_size那里,我没有将两个数的数值协调好,它俩大部分的时候应该是同步的。 class Solution { public: vector<vec...

代码随想录算法训练营第十三天| 二叉树

递归遍历 遍历递归还是挺简单的。三道题都顺利的做出来了 迭代遍历 先做了前序遍历的迭代递归。我记得之前做的时候用了一个index来统计目前需要loop的次数,但是我试探着写出来之后,发现没用上。试着跑一下,结果没问题。看来还是基础不扎实,凭的多是记忆,而不是能力。 class Solution { public: vector<int> preorderTraversa...

代码随想录算法训练营第十二天| 栈与队列

239. 滑动窗口最大值 一开始本来想用优先队列和队列这两个数据结构来储存数,但后来发现优先队列实现不了移除数据。所以改用了map。但一运行发现时间超了。 class Solution { public: vector<int> maxSlidingWindow(vector<int>& nums, int k) { queue<...

代码随想录算法训练营第十一天| 栈与队列

20.有效的括号 春节假期后的第一题。因为看到了主题是栈和队列,所以这道题很容易有思路。一下就写出来了。 class Solution { public: bool isValid(string s) { stack<char> st; for(int i=0; i<s.length(); i++){ if(s...

代码随想录算法训练营第十天| 栈与队列

232.用栈实现队列 思路是对的,但是还是没完全写对。不需要每次pop或者peek的时候检查s1里还有没有数。因为先把s2里的用完就行,毕竟那里面的数是比新加进来的数更早需要被弹出的。所以在s2里的数没用完之前,不需要考虑s1。而且有新的数要加入的时候,可以直接先放进s1。 另外,在最开始写这道题的时候,我没想好应该在哪里创建两个stack,这也是我基础不扎实的表现。 class MyQu...

代码随想录算法训练营第九天| 字符串

28. 实现 strStr() 用了双指针的方法写了出来,需要注意的一点是:我本以为如果找到了配对,那应该是temp_i-n_length+1;但其实不用加一。因为在前面的for loop里,尽管j大于n_length之后就退出了,但是temp_i还是加上了最后一次1才退出loop的。 class Solution { public: int strStr(string haysta...

代码随想录算法训练营第八天| 字符串

344.反转字符串 简单的开启一天刷题。 class Solution { public: void reverseString(vector<char>& s) { int left = 0; int right = s.size()-1; while(left < right){ c...

代码随想录算法训练营第七天| 哈希表

454.四数相加II 这道题做之前就知道了需要用到哈希表,但是绞尽脑汁还是没有想出来该怎么做。最后还是看了Carl的视频解析才想明白,原来是要把四个数组,两两进行for loop,这有点分而治之的意思。我是呆板的一直想着四个for loop进行计算呢。这也拓宽了我的思路,希望以后可以想到用这个办法来做类似的题。 class Solution { public: int fourSum...