前要
刚才在做LeetCode时,报了一个错误:
AddressSanitizer: heap-buffer-overflow on address 0x602000000040 at pc 0x000000406b5e bp 0x7ffc15cc0320 sp 0x7ffc15cc0318
原因
- LeetCode使用了AddressSanitizer检查了是否存在内存非法访问。
- 在该题目中,是因为数组访问越界,也是绝大部分的内存访问题。
解决
- 把for循环内的
i <= nums.size()
修改成 i < nums.size()
即可。