C++ Advance - Judget -Task 2 - Remove Invalid

А друг въпрос. Когато напиша функцията по следния начин ->  https://pastebin.com/RSNLXYSA при въвеждане на входни данни ми извежда грешка и пише : "Expression: list iterator not incrementable", а когато я напиша по този начин -> https://pastebin.com/W69akkWt всичко работи както трябва, обаче в judge ми дава грешка и знам че има  memory leak защото не освобождавам правилно паметта, но някой може ли да ми обясни какво точно се случва и как мога да го коригирам ?