Lexicographical Numbers LeetCode solution in Python
1class Solution:2def lexicalOrder(self, n: int) -> List[int]:3result = []4orderDic = {}5for i in range(1, n + 1):6strI = str(i)7level = orderDic8for char in strI:9if char not in level:10level[char] = {}11level = level[char]12self.traverse(orderDic, "", result)13return result1415def traverse(self, dic, temp, result):16for key in dic:17result.append(int(temp + key))18self.traverse(dic[key], temp + key, result)