Skip to content

Latest commit

 

History

History
14 lines (9 loc) · 1022 Bytes

README.md

File metadata and controls

14 lines (9 loc) · 1022 Bytes

同《剑指offer》面试题12

  • 如果查找字符串为空,直接返回ture
  • 如果字符矩阵为空,那么只有当查找字符串也为空时,才返回true
  • 否则,是一次常规的查找

循环,以字符矩阵每一位置为起始位置,判断能否查找到字符串:

  • 如果越界,或者当前位置已经走过,或者当前位置的字符和当前字符串中所需查找的字符不等 ,则直接返回false
  • 否则,如果当前位置的字符等于当前字符串中所需查找的字符,那么标记这个位置为已经走过,继续从4个方向进行剩余字符的查找

idx记录当前字符串中所需查找的字符,如果已经查找到字符串的最后一个字符,接下来idx会等于word.size(),那么说明已经找到,因此返回true

每次以字符矩阵一个位置为起始位置进行查找时,要求flags矩阵所有元素都为0,即没有走过,所以在每次查找过程中,走过一个位置后,需要清理相应位置的标记