@@ -48,24 +48,16 @@ private void dfs(TreeNode root, StringBuilder sb, List<Integer> allNumbers) {
4848sb .deleteCharAt (sb .length ()-1 );
4949 }
5050
51- public static void main (String ...strings ) {
52- more_concise_version test =new more_concise_version ();
53- TreeNode root =new TreeNode (1 );
54- root .left =new TreeNode (2 );
55- root .right =new TreeNode (3 );
56- System .out .println (test .sumNumbers (root ));
57- }
58- }
51+ class more_concise_version {
52+ public int sumNumbers (TreeNode root ) {
53+ return dfs (root ,0 );
54+ }
5955
60- class more_concise_version {
61- public int sumNumbers (TreeNode root ) {
62- return dfs (root ,0 );
56+ private int dfs (TreeNode root ,int sum ) {
57+ if (root ==null )return 0 ;
58+ if (root .left ==null &&root .right ==null )return sum *10 +root .val ;
59+ return dfs (root .left ,sum *10 +root .val ) +dfs (root .right ,sum *10 +root .val );
60+ }
6361 }
6462
65- private int dfs (TreeNode root ,int sum ) {
66- if (root ==null )return 0 ;
67- if (root .left ==null &&root .right ==null )return sum *10 +root .val ;
68- return dfs (root .left ,sum *10 +root .val ) +dfs (root .right ,sum *10 +root .val );
69- }
7063}
71-