1 /** 2 * 本代码由九章算法编辑提供。没有版权欢迎转发。 3 * - 九章算法致力于帮助更多中国人找到好的工作,教师团队均来自硅谷和国内的一线大公司在职工程师。 4 * - 现有的面试培训课程包括:九章算法班,系统设计班,BAT国内班 5 * - 更多详情请见官方网站:http://www.jiuzhang.com/ 6 */ 7 8 Template 1: Traverse 9 10 public class Solution { 11 public void traverse(TreeNode root) { 12 if (root == null) { 13 return; 14 } 15 // do something with root 16 traverse(root.left); 17 // do something with root 18 traverse(root.right); 19 // do something with root 20 } 21 } 22 23 24 Tempate 2: Divide & Conquer 25 26 public class Solution { 27 public ResultType traversal(TreeNode root) { 28 // null or leaf 29 if (root == null) { 30 // do something and return; 31 } 32 33 // Divide 34 ResultType left = traversal(root.left); 35 ResultType right = traversal(root.right); 36 37 // Conquer 38 ResultType result = Merge from left and right. 39 return result; 40 } 41 }