zoukankan      html  css  js  c++  java
  • bstToDoublyList

    bstToDoublyList

    bstToDoublyList

    Table of Contents

    1 描述

    将一个二叉查找树按照中序遍历转换成双向链表。

    2 样例

    给定一个二叉查找树:

        4
       / 
      2   5
     / 
    1   3
    

    返回 1<->2<->3<->4<->5

    3 解决方案

    做一个中序递归,用head保存首节点,用tail不断更新之后的每个节点。

    /**
     * Definition of TreeNode:
     * public class TreeNode {
     *     public int val;
     *     public TreeNode left, right;
     *     public TreeNode(int val) {
     *         this.val = val;
     *         this.left = this.right = null;
     *     }
     * }
     * Definition for Doubly-ListNode.
     * public class DoublyListNode {
     *     int val;
     *     DoublyListNode next, prev;
     *     DoublyListNode(int val) {
     *         this.val = val;
     *         this.next = this.prev = null;
     *     }
     * }
     */
    public class Solution {
        private DoublyListNode head = null;
        private DoublyListNode tail = null;
        /**
         * @param root: The root of tree
         * @return: the head of doubly list node
         */
        public DoublyListNode bstToDoublyList(TreeNode root) {
            // Write your code here
            if (null == root) {
                return null;
            }
            bstToDoublyList(root.left);
    
            DoublyListNode node = new DoublyListNode(root.val);
            if (null == head) {
                head = node;
                tail = node;
            } else {
                tail.next = node;
                node.prev = tail;
                tail = node;
            }
    
            bstToDoublyList(root.right);
    
            return head;
        }
    }
    

    Date: 2017-06-26 21:57

    Author: WEN YANG

    Created: 2017-06-26 Mon 22:03

    Emacs 25.2.1 (Org mode 8.2.10)

    Validate

  • 相关阅读:
    范围截取 字符串内容
    post请求 application/x‐www‐form‐urlencoded
    未能加载文件或程序集“Newtonsoft.Json”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
    获取Url链接后的问号传值中的参数
    Post 提交跳转页面 Jquery请求
    C# POST application/x-www-form-urlencoded 请求
    《exception》第九次团队作业:Beta冲刺与验收准备(大结局)
    《Exception》第八次团队作业:Alpha冲刺
    《Exception团队》第七次作业:团队项目设计完善&编码
    《Exceptioning团队》第六次作业:团队项目系统设计改进与详细设计
  • 原文地址:https://www.cnblogs.com/yangwen0228/p/7082711.html
Copyright © 2011-2022 走看看