遍历

作者: 天涯的尽头s风沙 | 来源:发表于2019-06-19 14:42 被阅读3次
    • 二叉树 Z 字型遍历

    考察点:遍历
    参考回答:

    public
    List<List<Integer>> zigzagLevelOrder(TreeNode root) {
            List<List<Integer>> res =
    new ArrayList<List<Integer>>();
            LinkedList<TreeNode> l = new
    LinkedList<TreeNode>();
            boolean flag = true;
            if (root == null) {
                return res;
            }
            l.add(root);
            while (l.size() != 0) {
                flag = !flag;
                int size = l.size();
                List<Integer> list = new
    ArrayList<Integer>();
                for (int i = 0; i < size; i++) {
                    TreeNode temp = l.remove();
                    list.add(temp.val);
                    if (temp.left != null)
    l.add(temp.left);
                    if (temp.right != null)
    l.add(temp.right);
                }
                if (flag) {
                    Collections.reverse(list);
                }
                res.add(list);
            }
            return res;
        }
    
    • 编程题:写一个函数,找到一个文件夹下所有文件,包括子文件夹

    考察点:遍历
    参考回答:

    import
    java.io.File;
    public class
    Counter2 {
        public static void main(String[] args) {
            //取得目标目录
            File
    file = new File("D:");
            //获取目录下子文件及子文件夹
            File[]
    files = file.listFiles();
            readfile(files);
            
        }
        
        public static void readfile(File[] files) {
            if
    (files == null) {// 如果目录为空,直接退出 
                return; 
            }
            for(File
    f:files) {
                //如果是文件,直接输出名字
                if(f.isFile()) {
                    System.out.println(f.getName());
                }
                //如果是文件夹,递归调用
                else if(f.isDirectory()) {
                    readfile(f.listFiles());
                }
            }
        }
    }
    

    相关文章

      网友评论

        本文标题:遍历

        本文链接:https://www.haomeiwen.com/subject/kwhkqctx.html