查看: 778| 回复: 3
跳转到指定楼层
上一主题 下一主题
收起左侧

[学Java/C#] 449题 第33行 啥意思?

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
代码如下,第33行,为啥要判断  “if (s.length() > 0) {”   -->  难道元素长度还可以为 0 吗?

  1. public class Codec {

  2.         // Encodes a tree to a single string.
  3.         public String serialize(TreeNode root) {
  4.             StringBuilder sb = new StringBuilder();
  5.             dfs(root, sb);
  6.             return sb.toString();
  7.         }
  8.    
  9.         // pre-order
  10.         private void dfs(TreeNode root, StringBuilder sb) {
  11.             
  12.             if (root == null) return;
  13.             
  14.             sb.append(root.val + ",");
  15.             
  16.             dfs(root.left, sb);
  17.             
  18.             dfs(root.right, sb);
  19.             
  20.             return;
  21.         }

  22.         // Decodes your encoded data to tree.
  23.         public TreeNode deserialize(String data) {
  24.             
  25.             String[] arr = data.split(",");
  26.             
  27.             TreeNode root = null;
  28.             
  29.             for (String s : arr) {
  30.                
  31.                 if (s.length() > 0) {
  32.                     
  33.                     // 把root操作一下,然后再重新返回root
  34.                     root = buildBST(root, Integer.parseInt(s));
  35.                     
  36.                 }
  37.             }
  38.             return root;
  39.         }

  40.         // 按左右重建
  41.         public TreeNode buildBST(TreeNode root, int v) {
  42.             
  43.             if (root == null) return new TreeNode(v);
  44.             
  45.             if (v < root.val) {
  46.                 root.left = buildBST(root.left, v);
  47.                
  48.             } else {
  49.                 root.right = buildBST(root.right, v);
  50.                
  51.             }
  52.             return root;
  53.         }
  54. }
复制代码

评分

参与人数 1大米 +1 收起 理由
14417335 + 1 &quot;&quot;.length()==0

查看全部评分


上一篇:Do not use class member/global/static variables to store states. Your encode ...
下一篇:问个需要从c++翻译成Java的字符串题
🔗
14417335 2020-9-8 02:47:27 | 只看该作者
全局:
&quot;&quot;.length()==0
回复

使用道具 举报

🔗
 楼主| zurich.hill 2020-9-9 00:53:42 | 只看该作者
全局:
14417335 发表于 2020-9-8 02:47
&quot;&quot;.length()==0

啥意思?
回复

使用道具 举报

🔗
14417335 2020-9-9 02:37:52 | 只看该作者
全局:
难道元素长度还可以为 0 吗?


java里String可以为空,
"".length()==0
回复

使用道具 举报

🔗
 楼主| zurich.hill 2020-9-9 04:42:58 | 只看该作者
全局:
14417335 发表于 2020-9-9 02:37
java里String可以为空,

空的string可以做node啊~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表