• Binary Tree Level Order Traversal II


    Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).

    For example:
    Given binary tree {3,9,20,#,#,15,7},

        3
       / 
      9  20
        /  
       15   7
    

    return its bottom-up level order traversal as:

    [
      [15,7],
      [9,20],
      [3]
    ]
    
    点击打开原题链接

    跟从上往下层次遍历一样。最后把结果倒置一下就能够了~~


    struct node
     {
    	 TreeNode* tn;
    	 int level;
     };
    	
    	class Solution 
    	{
    	public:
    		vector<vector<int> > levelOrderBottom(TreeNode *root) 
    		{
    			vector<vector<int> > vvi;
    			vector<int> vi;
    			deque<node> di;
    			node nd;
    			int level = 0;
    			if (root == NULL)
    			{
    				return vvi;
    			}
    			nd.level = 0;
    			nd.tn = root;
    			di.push_back(nd);
    			node left,right;
    			while (!di.empty()) 
    			{
    				nd = di.front();
    				if (nd.tn->left != NULL)
    				{
    					left.tn = nd.tn->left;
    					left.level = nd.level+1;
    					di.push_back(left);
    				}
    				if (nd.tn->right != NULL)
    				{
    					right.tn = nd.tn->right;
    					right.level = nd.level + 1;
    					di.push_back(right);
    				}
    				// if (vi.empty())
    				// {
    				// 	vi.push_back(nd.tn->val);
    				// 	level++;
    				// 	di.pop_front();
    				// }
    				// else 
    				// {
    					nd = di.front();
    					if (nd.level == level)
    					{
    						vi.push_back(nd.tn->val);
    						di.pop_front();
    					}
    					else
    					{
    						vvi.push_back(vi);
    						vi.clear();
    						vi.push_back(nd.tn->val);
    						level++;
    						di.pop_front();
    					}
    			//	}
    			}
    			vvi.push_back(vi);
    			
    			return vector<vector<int> >(vvi.rbegin(),vvi.rend());
    		}
    		
    	};


  • 相关阅读:
    ABAP常用函数归纳
    abap 优化之ST05
    对统驭科目和特别总账标志的理解
    会计凭证修改函数的使用
    会计凭证替代 OBBH
    屏幕切换
    se37 函数中的异常使用
    清帐函数的使用
    使用Servlet和JSp在浏览器上实现对数据库表的增删改查(新手)
    Java中的Xml配置文件(新手)
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5253651.html
Copyright © 2020-2023  润新知