leetcode 386. Lexicographical Numbers | 386. 字典序排数(Java)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 386. Lexicographical Numbers | 386. 字典序排数(Java)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
https://leetcode.com/problems/lexicographical-numbers/
題解
思路:先序遍歷 10 叉樹,參考:Simple Java DFS Solution
The idea is pretty simple. If we look at the order we can find out we just keep adding digit from 0 to 9 to every digit and make it a tree. Then we visit every node in pre-order. 1 2 3 .../\ /\ /\10 ...19 20...29 30...39 .... class Solution {public List<Integer> lexicalOrder(int n) {ArrayList<Integer> res = new ArrayList<>();for (int i = 1; i < 10; i++) {dfs(i, n, res);}return res;}public void dfs(int num, int max, List<Integer> list) {if (num > max) return;list.add(num);for (int i = 0; i < 10; i++) {if (num * 10 + i > max) return;dfs(num * 10 + i, max, list);}} }總結
以上是生活随笔為你收集整理的leetcode 386. Lexicographical Numbers | 386. 字典序排数(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 140. Word B
- 下一篇: leetcode 390. Elimin