首页 > 其他分享 >递归和深度优先遍历

递归和深度优先遍历

时间:2022-10-20 22:36:04浏览次数:53  
标签:优先 遍历 递归 preOrderTraverse1 void item root

  数组全排列 private void write(int[] b, ArrayList<ArrayList<Integer>> list,                        LinkedList<Integer> item) {         boolean flip;
        if (item.size() == b.length) {             list.add(new ArrayList<Integer>(item));             return;         }         for (int i = 0 ; i < b.length ; i++) {             if (item.contains(b[i])) {                 continue;             } else {                 item.add(b[i]);                 write(b, list, item);
                item.removeLast();             }         }     }   深度优先搜索  先序遍历

public void dfs(TreeNode root) {

if (root != null) {

  System.out.print(root.val+" ");

  preOrderTraverse1(root.left);

  preOrderTraverse1(root.right);

}

深度优先搜索  中序遍历

public void dfs(TreeNode root) {

if (root != null) {

  preOrderTraverse1(root.left);

  System.out.print(root.val+" ");

  preOrderTraverse1(root.right);

}

深度优先搜索  后序遍历

public void dfs(TreeNode root) {

if (root != null) {

  preOrderTraverse1(root.left);

  preOrderTraverse1(root.right);

  System.out.print(root.val+" ");

}

标签:优先,遍历,递归,preOrderTraverse1,void,item,root
From: https://www.cnblogs.com/yanher/p/16811569.html

相关文章