I can only assume this happens because result
appears to be a static
variable that you aren't reassigning/clearing/re-initializing on each method call and therefore still holds the previous values, the sum
you added on previous calls.
Either make it local to the method
public static String convert(String input, int base_in, int base_out){
List<Integer> result = new LinkedList<>();
...
Or reinitialize it at the start (to clear the previous sums)
public static String convert(String input, int base_in, int base_out){
result = new LinkedList<>(); // or just call clear()
...
Proof: 0000
+ 0001
+ 0010
= 000000010010
= 18