二叉树知识参考:
深入学习二叉树(一) 二叉树基础
递归实现层次遍历算法参考:
【面经】用递归方法对二叉树进行层次遍历 && 二叉树深度
上面第一遍基础写得不错,不了解二叉树的值得一看。然后,主要说说用递归来实现二叉树的层次遍历。
先上代码:


1 local function FindTree(tree, level) 2 if(tree == nil or level <= 0) then 3 return false; 4 end 5 if (level == 1) then 6 print(tree.data); 7 return true; 8 end 9 10 local has_left = FindTree(tree.left, level - 1); 11 local has_right = FindTree(tree.right, level - 1); 12 13 return has_left or has_right; 14 end 15 16 local level = 1; 17 while FindTree(a, level)