进击的小白——LeetCode刷题总结(未完待续)

  1. 在写完一个算法的时候,尤其是算法中涉及到循环的时候,要考虑一下有没有哪些循环是完全无用的,如刷题笔记016中,每次循环可以先判断haystack中剩余长度是否足够容纳一个needle的长度,如果不够,那就没有继续循环的必要,直接返回flag即可,换一种说法就是,把i < (n2 - n1 +1)作为循环的条件,可以大大减少循环次数,提高程序运行效率。
  2. 当i-1作为数组或指针下标出现时,i至少要从1开始,即i>0
  3. 不要定义全局变量,实在要用时,用指针代替,指针进入函数将操作变量
  4. 定义储存n个字符的字符串时,维度应设置为2*n+1,因为最后一个字符用于存储‘\0’

你可能感兴趣的:(C语言,LeetCode刷题笔记,个人体会)