@@ -43,23 +43,23 @@ func check(board [][]byte, boardShadow [][]bool, x, y int, word string, wordIdx
43
43
boardShadow [x ][y ] = true
44
44
}()
45
45
// top
46
- if x - 1 >= 0 {
47
- return check ( board , boardShadow , x - 1 , y , word , wordIdx + 1 )
46
+ if x - 1 >= 0 && check ( board , boardShadow , x - 1 , y , word , wordIdx + 1 ) {
47
+ return true
48
48
}
49
49
50
50
// bottom
51
- if x + 1 < len (board ) {
52
- return check ( board , boardShadow , x + 1 , y , word , wordIdx + 1 )
51
+ if x + 1 < len (board ) && check ( board , boardShadow , x + 1 , y , word , wordIdx + 1 ) {
52
+ return true
53
53
}
54
54
55
55
// left
56
- if y - 1 > 0 {
57
- return check ( board , boardShadow , x , y - 1 , word , wordIdx + 1 )
56
+ if y - 1 >= 0 && check ( board , boardShadow , x , y - 1 , word , wordIdx + 1 ) {
57
+ return true
58
58
}
59
59
60
60
// right
61
- if y + 1 < len (board [0 ]) {
62
- return check ( board , boardShadow , x , y - 1 , word , wordIdx + 1 )
61
+ if y + 1 < len (board [0 ]) && check ( board , boardShadow , x , y - 1 , word , wordIdx + 1 ) {
62
+ return true
63
63
}
64
64
65
65
return false
0 commit comments