内容简介:[LeetCode]Construct String from Binary Tree
题目描述:
LeetCode 606. Construct String from Binary Tree
You need to construct a string consists of parenthesis and integers from a binary tree with the preorder traversing way.
The null node needs to be represented by empty parenthesis pair "()". And you need to omit all the empty parenthesis pairs that don't affect the one-to-one mapping relationship between the string and the original binary tree.
Example 1:
Input: Binary tree: [1,2,3,4]
1
/ \
2 3
/
4
Output: "1(2(4))(3)"
Explanation: Originallay it needs to be "1(2(4)())(3()())",
but you need to omit all the unnecessary empty parenthesis pairs.
And it will be "1(2(4))(3)".
Example 2:
Input: Binary tree: [1,2,3,null,4]
1
/ \
2 3
\
4
Output: "1(2()(4))(3)"
Explanation: Almost the same as the first example,
except we can't omit the first parenthesis pair to break the one-to-one mapping relationship between the input and the output.
题目大意:
将二叉树序列化为字符串,形式为"root(left)(right)",空节点表示为"()"。所有不产生歧义的空括号可以省去。
解题思路:
递归(Recursion)
Python代码:
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def tree2str(self, t):
"""
:type t: TreeNode
:rtype: str
"""
if not t: return ''
ans = str(t.val)
if t.left or t.right: ans += '(' + self.tree2str(t.left) + ')'
if t.right: ans += '(' + self.tree2str(t.right) + ')'
return ans
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- [LeetCode]Construct String from Binary Tree
- LeetCode 606 Construct String from Binary Tree
- Leetcode PHP题解--D92 606. Construct String from Binary Tree
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
处理器虚拟化技术
邓志 / 电子工业出版社 / 2014-5-1 / CNY 109.00
《处理器虚拟化技术》针对在Intel处理器端的虚拟化技术(Intel Virtualization Technology for x86,即Intel VT-x)进行全面讲解。在Intel VT-x技术下实现了VMX(Virtual-Machine Extensions,虚拟机扩展)架构平台来支持对处理器的虚拟化管理。因此,VMX架构是Intel VT-x技术的核心。《处理器虚拟化技术》内容围绕V......一起来看看 《处理器虚拟化技术》 这本书的介绍吧!