一、场景:
写leetcode37.解数独算法的时候想用测试用例,结果发现测试用例都是字符串如图
输入:board = [["5","3",".",".","7",".",".",".","."],
["6",".",".","1","9","5",".",".","."],
[".","9","8",".",".",".",".","6","."],
["8",".",".",".","6",".",".",".","3"],
["4",".",".","8",".","3",".",".","1"],
["7",".",".",".","2",".",".",".","6"],
[".","6",".",".",".",".","2","8","."],
[".",".",".","4","1","9",".",".","5"],
[".",".",".",".","8",".",".","7","9"]]
然后题目开始又是传入char[][]类型的(也可以把参数变成String[][],就不)
class Solution {
public void solveSudoku(char[][] board) {
}
}
然后搜了一下网上也没有,于是乎就想弄一个偷懒下次使用也方便的方发
二、方法
public static char[][] string2ToChar2(String[][] board) {
char[][] chars = new char[board.length][board.length];
for (int i = 0; i < board.length; i++) {
for (int j = 0; j < board.length; j++) {
chars[i][j] = board[i][j].charAt(0);
}
}
return chars;
}
三、测试
public static void main(String[] args) {
String[][] board = {{"5","3",".",".","7",".",".",".","."},
{"6",".",".","1","9","5",".",".","."},
{".","9","8",".",".",".",".","6","."},
{"8",".",".",".","6",".",".",".","3"},
{"4",".",".","8",".","3",".",".","1"},
{"7",".",".",".","2",".",".",".","6"},
{".","6",".",".",".",".","2","8","."},
{".",".",".","4","1","9",".",".","5"},
{".",".",".",".","8",".",".","7","9"}};
char[][] chars = string2ToChar2(board);
System.out.println("=========验证==========");
for (int i = 0; i < chars.length; i++) {
for (int j = 0; j < chars.length; j++) {
System.out.print(chars[i][j]);
}
System.out.println();
}
}
测试结果