最近在刷题,有一段代码如果写成下面这样结果就是对的
func foo(i, j int) bool {
ret1 := foo(i+1, j)
ret2 := foo(i-1, j)
ret3 := foo(i, j+1)
ret4 := foo(i, j-1)
return ret1 && ret2 && ret3 && ret4
}
但是如果写成这样,某些 test case 结果就错
func foo(i, j int) bool {
return foo(i+1, j) && foo(i-1, j) && foo(i, j+1) && foo(i, j-1)
}
想不明白啊,这两种写法哪里不一样了?