leetcode刷题记录-day2

这里写目录标题

  • 19
  • 22
  • 24
  • 29
  • 31

19

leetcode刷题记录-day2_第1张图片
这道题就很简单了,注意两点:
1.用双指针方式;
2.后指针要记得指向待删除节点的父亲节点(之前我是想,单链表删除节点的话,直接将待删除节点的后继节点内容放置到待删除节点处,然后删除待删除节点的next。)上述提到的删除方法其实是可取的,两种方法都不错。

22

leetcode刷题记录-day2_第2张图片
也没啥难度,就是单纯的dp动态规划即可。corner case的话,考虑当n=0时,是不能加入空字符串的。

24

leetcode刷题记录-day2_第3张图片
1.首先应该把head以及head->next给处理完成,因为这涉及到返回头指针;
2.剩下的就两个一循环,记得保持parentNode->firNode->secNode->others这样的格式,在调换firNode and secNode时,记得先将parentNode指向secNode,然后firNode指向others,最后是secNode指向firNode。

29

leetcode刷题记录-day2_第4张图片
做到心态爆炸,这道题就完全是corner case,感觉自己啥都没考虑到。
1.溢出问题。为啥会溢出呢?当时我没想清楚,后来明白了,原来int表示的范围是-pow(2, 31)到pow(2, 31)-1,卧槽我这上来就用了一个abs函数,那不得直接爆炸???所以我必须要将输入数据包括中间用到的数据都处理成long
2.针对溢出情况,我需要单独处理的,这不是范围的问题,这是特殊处理。想一想,也只有一种溢出情况。

31

leetcode刷题记录-day2_第5张图片
这道题就完全抓瞎了,根本就没啥好的思路。
实现的过程没啥好说的,corner case没啥好考虑的。(注意处理一下相等情况)

你可能感兴趣的:(算法与数据结构)