输出单层节点

来源:互联网 发布:苍翼之刃组队网络异常 编辑:程序博客网 时间:2024/05/01 15:53
package 输出单层节点;class ListNode {    int val;    ListNode next = null;    ListNode(int val) {        this.val = val;    }}class TreeNode {    int val = 0;    TreeNode left = null;    TreeNode right = null;    public TreeNode(int val) {        this.val = val;    }}public class TreeLevel {    public ListNode p;    public ListNode getTreeLevel(TreeNode root, int dep) {        ListNode head = new ListNode(-1);        p = head;        preOrder(root, dep);        return head.next;    }    private void preOrder(TreeNode root, int dep) {        if (root == null || dep == 0) {            return;        }        if (dep == 1) {            p.next = new ListNode(root.val);            p = p.next;        }        preOrder(root.left, dep - 1);        preOrder(root.right, dep - 1);    }    public static void main(String[] args) {        TreeNode root = new TreeNode(1);        TreeNode left1 = new TreeNode(2);        TreeNode right1 = new TreeNode(3);        TreeNode left2 = new TreeNode(4);        root.left = left1;        root.right = right1;        left1.left = left2;        TreeNode right2 = new TreeNode(5);        left1.right = right2;        print(new TreeLevel().getTreeLevel(root, 1));    }    private static void print(ListNode root) {        if (root == null) {            return;        } else {            System.out.print(root.val + " ");            print(root.next);        }    }}
0 0
原创粉丝点击