
中序遍历
public static class TreeNode { public int val; public TreeNode left; public TreeNode right; } public TreeNode inorderSuccessor(TreeNode head, TreeNode p) { List<TreeNode> list = new ArrayList<>(); process(head, list); for (int i = 0; i < list.size(); i++) { if (list.get(i).val == p.val) { return list.get(i + 1); } } return null; } public static void process(TreeNode node, List<TreeNode> list) { if (node == null) { return; } process(node.left, list); list.add(node); process(node.right, list); }
Morris遍历(面试吹逼)