Ho impostato una funzione ricorsiva che richiama sé stessa per vedere se a destra o sotto è presente un carattere della parola che sto cercando.
Al fine di decidere quale direzione prendere nel caso in cui io abbia lo stesso carattere sia sopra che sotto, vado a vedere cosa c'è al carattere successivo a quello uguale. Ad esempio se prima ho controllato n +1, dopo vado a controllare n + 2.
Il problema sorge quando dopo n + 2 c'è un ulteriore carattere uguale! A quel punto il mio algoritmo va a destra perché è la prima condizione che soddisfa, quando magari dovrebbe andare giù.
Come posso controllare anche questa casistica?
PS: quando controllo n + 1 e n + 2 lo faccio sempre nella stessa direzione, quindi controllare n + 3 non mi sarebbe di grosso aiuto.
Al fine di decidere quale direzione prendere nel caso in cui io abbia lo stesso carattere sia sopra che sotto, vado a vedere cosa c'è al carattere successivo a quello uguale. Ad esempio se prima ho controllato n +1, dopo vado a controllare n + 2.
Il problema sorge quando dopo n + 2 c'è un ulteriore carattere uguale! A quel punto il mio algoritmo va a destra perché è la prima condizione che soddisfa, quando magari dovrebbe andare giù.
Come posso controllare anche questa casistica?
PS: quando controllo n + 1 e n + 2 lo faccio sempre nella stessa direzione, quindi controllare n + 3 non mi sarebbe di grosso aiuto.