我试图从右下角到左上角搜索我的java多维数组以查找垂直模式的单词,但它没有找到该单词。我做错了什么?
public static String findBottomToTop(char[][] board, String word) {
char[] letters = word.toCharArray();
if (letters.length <= board.length) {
int lettersIndex = 0;
for (int i = board.length-1; i > -1; i--) {
for (int j = board[i].length-1; j > -1; j--) {
if (board[i][j] == letters[0]) {
lettersIndex++;
for (int k = 0; k < letters.length; k++) {
if (j > board[k].length && board[k][j] == letters[lettersIndex]) {
lettersIndex++;
if (lettersIndex == letters.length) {
return "String " + word + " found in row=" + i + " col=" + j;
}
} else {
// breaks
lettersIndex = 0;
break;
}
}
}// found first
}
}
}
return "String " + word + " not found";
}
最佳答案
你需要切换
for (int i = board[0].length-1; i > -1; i--) {
for (int j = board.length-1; j > -1; j--) {
您想在最右边的角处一直循环到各行,然后向左移动并执行相同的操作。只需更改循环的逻辑即可。
关于java - 我正在尝试从右下角到左上角以垂直模式搜索我的java多维数组?我的代码有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26282615/