刚刚刷 leetcode 的时候又发生了一件灵异事件:
//题目很简单:
Implement strStr().
Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
但是报错了:
奇怪点不在这,在于如果我把 两个.length()替换成 int 型的len1和 len2,就 Accepted了。。
就是写成这样就对了:
啊,为什么。。。为什么。。什么都没干啊只是等价替换了啊。。
后来机智的我想起,原来在 IDE 里面编程的时候,每次用 .length()会有警告提醒:
size_type。。。
所以说在 unsigned 情况下,如果两个 length()相减,得到的是一个好大好大的值,因为unsingned和unsigned相减得到unsigned的数,也就是如果是负数的话得到的是int的最大值那样的数,但是在转为 int 型之后就会允许相减得到负数,是这样的么。。。验证一下:
啊,我怎么可以这么机智~~(`・ω・´)
~~~~~~~~~~~~
❤ 点击这里 -> 订阅《PAT | 蓝桥 | LeetCode学习路径 & 刷题经验》by 柳婼