static Integer nonRepeatingChar(Integer[] arr, int index){
List<Node> list = new LinkedList<Node>();
if(arr != null){
Map<Integer, Node> map = new HashMap<Integer, Node>();
for(int i=0; i<arr.length; i++){
if(i <= index){
Integer ch = arr[i];
if(!map.containsKey(ch)){
Node node = new Node(ch);
list.add(node);
map.put(ch, node);
}else{
Node vNode = map.get(ch);
if(vNode != null){
list.remove(vNode);
map.put(ch, null);
}
}
}else{
break;
}
}
}
if(list.size() > 0)
return list.get(0).data;
else
return null;
}