diff --git a/solution/1000-1099/1091.Shortest Path in Binary Matrix/README.md b/solution/1000-1099/1091.Shortest Path in Binary Matrix/README.md
index 2d4812c3ca2d0..9a5b62933dfdf 100644
--- a/solution/1000-1099/1091.Shortest Path in Binary Matrix/README.md	
+++ b/solution/1000-1099/1091.Shortest Path in Binary Matrix/README.md	
@@ -220,18 +220,18 @@ function shortestPathBinaryMatrix(grid: number[][]): number {
     if (grid[0][0]) {
         return -1;
     }
-    const n = grid.length;
+    const max = grid.length - 1;
     grid[0][0] = 1;
     let q: number[][] = [[0, 0]];
     for (let ans = 1; q.length > 0; ++ans) {
         const nq: number[][] = [];
         for (const [i, j] of q) {
-            if (i === n - 1 && j === n - 1) {
+            if (i === max && j === max) {
                 return ans;
             }
             for (let x = i - 1; x <= i + 1; ++x) {
                 for (let y = j - 1; y <= j + 1; ++y) {
-                    if (x >= 0 && x < n && y >= 0 && y < n && !grid[x][y]) {
+                    if (grid[x]?.[y] === 0) {
                         grid[x][y] = 1;
                         nq.push([x, y]);
                     }
diff --git a/solution/1000-1099/1091.Shortest Path in Binary Matrix/README_EN.md b/solution/1000-1099/1091.Shortest Path in Binary Matrix/README_EN.md
index bfd6eb09dd4b1..846546fe72ce2 100644
--- a/solution/1000-1099/1091.Shortest Path in Binary Matrix/README_EN.md	
+++ b/solution/1000-1099/1091.Shortest Path in Binary Matrix/README_EN.md	
@@ -206,18 +206,18 @@ function shortestPathBinaryMatrix(grid: number[][]): number {
     if (grid[0][0]) {
         return -1;
     }
-    const n = grid.length;
+    const max = grid.length - 1;
     grid[0][0] = 1;
     let q: number[][] = [[0, 0]];
     for (let ans = 1; q.length > 0; ++ans) {
         const nq: number[][] = [];
         for (const [i, j] of q) {
-            if (i === n - 1 && j === n - 1) {
+            if (i === max && j === max) {
                 return ans;
             }
             for (let x = i - 1; x <= i + 1; ++x) {
                 for (let y = j - 1; y <= j + 1; ++y) {
-                    if (x >= 0 && x < n && y >= 0 && y < n && !grid[x][y]) {
+                    if (grid[x]?.[y] === 0) {
                         grid[x][y] = 1;
                         nq.push([x, y]);
                     }
diff --git a/solution/1000-1099/1091.Shortest Path in Binary Matrix/Solution.ts b/solution/1000-1099/1091.Shortest Path in Binary Matrix/Solution.ts
index 2049bcfc03958..378d4d18b0fff 100644
--- a/solution/1000-1099/1091.Shortest Path in Binary Matrix/Solution.ts	
+++ b/solution/1000-1099/1091.Shortest Path in Binary Matrix/Solution.ts	
@@ -2,18 +2,18 @@ function shortestPathBinaryMatrix(grid: number[][]): number {
     if (grid[0][0]) {
         return -1;
     }
-    const n = grid.length;
+    const max = grid.length - 1;
     grid[0][0] = 1;
     let q: number[][] = [[0, 0]];
     for (let ans = 1; q.length > 0; ++ans) {
         const nq: number[][] = [];
         for (const [i, j] of q) {
-            if (i === n - 1 && j === n - 1) {
+            if (i === max && j === max) {
                 return ans;
             }
             for (let x = i - 1; x <= i + 1; ++x) {
                 for (let y = j - 1; y <= j + 1; ++y) {
-                    if (x >= 0 && x < n && y >= 0 && y < n && !grid[x][y]) {
+                    if (grid[x]?.[y] === 0) {
                         grid[x][y] = 1;
                         nq.push([x, y]);
                     }