1. public class Solution
  2. {
  3. private Stack<string> ST = new Stack<string>();
  4. private string SmallestStr = String.Empty;
  5. private string[] Ary = new string[] { "a","b","c","d","e","f","g",
  6. "h","i","j","k","l","m","n","o","p","q","r","s","t",
  7. "u","v","w","x","y","z"};
  8. private void SearchTree(TreeNode root)
  9. {
  10. if(root!=null)
  11. {
  12. var index = root.val;
  13. var str = Ary[index];
  14. ST.Push(str);
  15.  
  16. if(root.left!=null)
  17. {
  18. SearchTree(root.left);
  19. }
  20.  
  21. if(root.right!=null)
  22. {
  23. SearchTree(root.right);
  24. }
  25. if(root.left==null && root.right==null)
  26. {
  27. //find a leaf node
  28. var a1 = ST.ToArray();
  29. StringBuilder sb1 = new StringBuilder();
  30. for (int i = ; i < a1.Length;i++)
  31. {
  32. sb1.Append(a1[i]);
  33. }
  34. if(string.IsNullOrEmpty(SmallestStr) ||
  35. string.Compare(SmallestStr, sb1.ToString()) >
  36. )
  37. {
  38. SmallestStr = sb1.ToString();
  39. }
  40. }
  41. ST.Pop();
  42. }
  43. }
  44.  
  45. public string SmallestFromLeaf(TreeNode root)
  46. {
  47. SearchTree(root);
  48. return SmallestStr;
  49. }
  50. }

leetcode988的更多相关文章

  1. [Swift]LeetCode988. 从叶结点开始的最小字符串 | Smallest String Starting From Leaf

    Given the root of a binary tree, each node has a value from 0 to 25 representing the letters 'a' to  ...

随机推荐

  1. DS二叉树--层次遍历

    题目描述 层次遍历二叉树,是从根结点开始遍历,按层次次序“自上而下,从左至右”访问树中的各结点. 建树方法采用“先序遍历+空树用0表示”的方法 要求:采用队列对象实现,函数框架如下: 输入 第一行输入 ...

  2. LeetCode——3. Longest Substring Without Repeating Characters

    一.题目链接:https://leetcode.com/problems/longest-substring-without-repeating-characters 二.题目大意: 给定一个字符串, ...

  3. NGUI的字体加粗效果

    ngui的UILabel可以通过属性面板(inspector)设置字体的样式:加粗 倾斜 正常等. 但是如果通过这里设置了加粗,与实际的加粗不一样,ngui有一个拉伸宽度的变化. 这让人觉得很丑 .如 ...

  4. ubuntu16.04下sublime text 3之安装和配置

    1.安装方法 1)使用ppa安装 sudo add-apt-repository ppa:webupd8team/sublime-text-3 sudo apt-get update sudo apt ...

  5. mac brew 安装 nginx fpm mysql 教程

    一. 安装brew 要求:OS X 10.6以上系统,并且安装有XCode命令行工具 对于10.11的系统需要设置下local的权限为当前用户 $ sudo chown -R $(whoami):ad ...

  6. Java学习——包及可见性

    1.在同一个类中:创建的对象,不管成员的可见修饰符可以直接调用. package studentpackage; public class Student { public long id; prot ...

  7. 搭建好lamp,部署owncloud。

    先上传两个文件 上传到root目录 上传到opt目录下 #mkdir /opt/dvd1 #mount /dev/sr0 /opt/dvd1 #cd /etc/yum.repos.d/ #vi dvd ...

  8. 关于postman中表单提交与数据包提交的问题,file_get_contents("php://input")可以获取数据,$_POST不能获取数据

    Coentent-Type仅在取值为application/x-www-data-urlencoded和multipart/form-data两种情况下,PHP才会将http请求数据包中相应的数据填入 ...

  9. Java中涉及线程和并发相关的内容

    1:线程池 与每次需要时都创建线程相比,线程池可以降低创建线程的开销,这也是因为线程池在线程执行结束后进行的是回收操作,而不是真正的 销毁线程. 2:ReentrantLock ReentrantLo ...

  10. Django -- settings 详解

    Django settings详解 1.基础 DJANGO_SETTING_MODULE环境变量:让settings模块被包含到python可以找到的目录下,开发情况下不需要,我们通常会在当前文件夹运 ...