摘要:
二叉树遍历,各种非递归实现,非递归实现基本都是用到栈,然后关键要弄明白的是什么时候进栈,什么时候出栈,什么时候指针是指向左孩子,什么时候指向右孩子。先说先序遍历,先序遍历比较简单,从栈中拿出一个就打印一个,然后再把左右孩子进栈就行,要注意进栈是先右孩子,然后才是左孩子。看代码: 1 /** 2 * Definition for binary tree 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : val... 阅读全文