//第一题    int res;     public int maximumTotal(int[][] triangle){         if(triangle.length == 0){             return 0;         }         traverse(triangle,0,0);         return res + triangle[0][0];     }     public int traverse(int[][] triangle, int i, int j){         if(i >triangle.length - 1 || j > triangle[i].length || i < 0 || j < 0){             return 0;         }         int left = traverse(triangle,i + 1,j);         int right = traverse(triangle,i + 1,j + 1);         int maxVal = Math.max(left,right);         res = Math.max(res,Math.max(left,right));         return maxVal + triangle[i][j];     }