@@ -0,0 +1,1300 @@
+package leetcode.binary_tree_inorder_traversal;%0A%0Aimport java.util.ArrayList;%0Aimport java.util.Stack;%0A%0Aimport common.TreeNode;%0A%0Apublic class Solution %7B%0A%09%0A%09public static class MyNode%7B%0A%09%09TreeNode node;%0A%09%09boolean isVisit;%0A%09%09public MyNode(TreeNode node)%7B%0A%09%09%09this.node = node;%0A%09%09%7D%0A%09%7D%0A%09%0A    public ArrayList%3CInteger%3E inorderTraversal(TreeNode root) %7B%0A    %09ArrayList%3CInteger%3E ans = new ArrayList%3CInteger%3E();%0A    %09if(root == null) return ans;%0A    %09Stack%3CMyNode%3E stack = new Stack%3CMyNode%3E();%0A    %09stack.push(new MyNode(root));%0A    %09while(!stack.isEmpty())%7B%0A    %09%09MyNode cur = stack.pop();%0A    %09%09if(cur.isVisit)%7B%0A    %09%09%09ans.add(cur.node.val);%0A    %09%09%7Delse%7B%0A    %09%09%09cur.isVisit = true;%0A    %09%09%09if(cur.node.right != null)%7B%0A    %09%09%09%09stack.push(new MyNode(cur.node.right));%0A    %09%09%09%7D%0A    %09%09%09stack.push(cur);%0A    %09%09%09if(cur.node.left != null)%7B%0A    %09%09%09%09stack.push(new MyNode(cur.node.left));%0A    %09%09%09%7D%0A    %09%09%7D%0A    %09%7D%0A    %09return ans;%0A    %7D%0A    %0A    public static void main(String%5B%5D args)%7B%0A    %09TreeNode t1 = new TreeNode(1);%0A    %09TreeNode t2 = new TreeNode(2);%0A    %09TreeNode t3 = new TreeNode(3);%0A    %09TreeNode t4 = new TreeNode(4);%0A    %09t1.left = t2;%0A    %09t2.left = t3;%0A    %09t2.right = t4;%0A    %09for(int x : new Solution().inorderTraversal(t1))%7B%0A    %09%09System.err.print(x + %22-%3E%22);%0A    %09%7D%0A    %09System.err.println(%22%22);%0A    %7D%0A%7D%0A

Add java solution for 94. Binary Tree Inorder Traversal