1. 程式人生 > >【leetcode】114.(Medium) Flatten Binary Tree to Linked List

【leetcode】114.(Medium) Flatten Binary Tree to Linked List

解題思路:
和morris遍歷差不多


提交程式碼:

class Solution {
    public void flatten(TreeNode root) {
    	TreeNode p1=root,p2;
    	while(p1!=null) {
    		if(p1.left!=null) {
    			p2=p1.left;
    			while(p2.right!=null&&p2.right!=p1)	
    				p2=p2.right;
    			if(p2.right==null) {
    				p2.
right=p1.right; p1.right=p1.left; p1.left=null; }else p2.right=null; p1=p1.right; }else { p1=p1.right; } } } }

執行結果:
在這裡插入圖片描述