Given a 2D binary matrix filled with '0's and '1's, find the largest rectangle containing only 1's and return its area.
Example 1:
Input: matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]
Output: 6
Explanation: The maximal rectangle of all 1's has an area of 6, formed by the submatrix spanning rows 1-2 and columns 2-4.
Example 2:
Input: matrix = [["0"]]
Output: 0
Explanation: The matrix contains only a single '0', so no rectangle of 1's exists.
Example 3:
Input: matrix = [["1"]]
Output: 1
Explanation: The matrix contains a single '1', forming a 1x1 rectangle.
rows == matrix.lengthcols == matrix[i].length1 <= rows, cols <= 200matrix[i][j] is '0' or '1'