don't do it that way, its the hard way to solve it.
take the string, peel off the characters, and directly convert (char - '0' in ascii turns a letter to its digit value for 0-9).
so you get "1234" then take the letter '1' and directly turn that into '1' then put it in the list, or go backwards do 4 first, whatever order.
the way you propose it you convert to a number, then have to peel off the digits (%10 can do this of course) and then put it in the list, almost but not quite going text to int back to near- text to list instead of just text to list of ints directly.
Rather than node data being of type char, just have data of type int and do a simple conversion from char digit to its int (if a char digit subtract '0').