I am getting error "Line 12:variable sblst is already defined in method generate(int)" for below code. I tried to modify below code and I dont get error when I declare the second and third list with a different name. I am new to java and not understanding what is happening here. My question is , in while loop the list is getting declared multiple times but am not getting error for the same.
class Solution {
public List<List<Integer>> generate(int numRows) {
if(numRows==0) return new ArrayList<List<Integer>>(0);
List<List<Integer>> lst = new ArrayList<List<Integer>>(); //check list
List<Integer> sblst = new ArrayList<Integer>();
if(numRows>=1) sblst.add(1); lst.add(sblst); //i=0
if(numRows==1) return lst;
List<Integer> sblst = new ArrayList<Integer>();
if(numRows>=2) sblst.add(1); sblst.add(1); lst.add(sblst); //i=1
if(numRows==2) return lst;
int i=2;
while(i<numRows){
List<Integer> sblst = new ArrayList<Integer>(0);
sblst.add(1);
int j=1;
while(j<i){
int element = lst.get(i-1).get(j-1)+lst.get(i-1).get(j) ;
sblst.add(element);
j++;
}
sblst.add(1);
lst.add(sblst);
i++;
}
return lst;
}
}