\u672c\u7bc7\u6982\u89c8<\/h3> \n \n - \u56e0\u4e3a\u6b23\u5bb8\u4e2a\u4eba\u6c34\u5e73\u6709\u9650\uff0c\u5728\u5237\u9898\u65f6\u4e00\u76f4\u4e0d\u6562\u9762\u5bf9hard\u7ea7\u522b\u7684\u9898\u76ee\uff0c\u751f\u6015\u51fa\u73b0\u4e00\u676f\u8336\u4e00\u5305\u70df\uff0c\u4e00\u9053hard\u505a\u4e00\u5929<\/font>\u7684\u7a98\u5883
<\/li> \n - \u8fd9\u79cd\u6050\u60e7\u5fc3\u7406\u4e00\u76f4\u5728\uff0c\u76f4\u5230\u9047\u89c1\u4e86\u5b83\uff1aLeetCode297\uff0c\u5efa\u8bae\u4e0d\u6562\u505ahard\u9898\u7684\u65b0\u624b\u4eec\u901f\u6765\u56f4\u89c2\uff0c\u62ff\u5b83\u7ec3\u624b\uff0c\u8f7b\u677e\u627e\u5230\u81ea\u4fe1<\/li> \n <\/ul> \n
\u9898\u76ee\u7b80\u4ecb<\/h3> \n \n - \n
\n - \u4e8c\u53c9\u6811\u7684\u5e8f\u5217\u5316\u4e0e\u53cd\u5e8f\u5217\u5316<\/li> \n <\/ol> <\/li> \n <\/ul> \n
\u5e8f\u5217\u5316\u662f\u5c06\u4e00\u4e2a\u6570\u636e\u7ed3\u6784\u6216\u8005\u5bf9\u8c61\u8f6c\u6362\u4e3a\u8fde\u7eed\u7684\u6bd4\u7279\u4f4d\u7684\u64cd\u4f5c\uff0c\u8fdb\u800c\u53ef\u4ee5\u5c06\u8f6c\u6362\u540e\u7684\u6570\u636e\u5b58\u50a8\u5728\u4e00\u4e2a\u6587\u4ef6\u6216\u8005\u5185\u5b58\u4e2d\uff0c\u540c\u65f6\u4e5f\u53ef\u4ee5\u901a\u8fc7\u7f51\u7edc\u4f20\u8f93\u5230\u53e6\u4e00\u4e2a\u8ba1\u7b97\u673a\u73af\u5883\uff0c\u91c7\u53d6\u76f8\u53cd\u65b9\u5f0f\u91cd\u6784\u5f97\u5230\u539f\u6570\u636e\u3002\n\n\u8bf7\u8bbe\u8ba1\u4e00\u4e2a\u7b97\u6cd5\u6765\u5b9e\u73b0\u4e8c\u53c9\u6811\u7684\u5e8f\u5217\u5316\u4e0e\u53cd\u5e8f\u5217\u5316\u3002\u8fd9\u91cc\u4e0d\u9650\u5b9a\u4f60\u7684\u5e8f\u5217 \/ \u53cd\u5e8f\u5217\u5316\u7b97\u6cd5\u6267\u884c\u903b\u8f91\uff0c\u4f60\u53ea\u9700\u8981\u4fdd\u8bc1\u4e00\u4e2a\u4e8c\u53c9\u6811\u53ef\u4ee5\u88ab\u5e8f\u5217\u5316\u4e3a\u4e00\u4e2a\u5b57\u7b26\u4e32\u5e76\u4e14\u5c06\u8fd9\u4e2a\u5b57\u7b26\u4e32\u53cd\u5e8f\u5217\u5316\u4e3a\u539f\u59cb\u7684\u6811\u7ed3\u6784\u3002\n\n\u63d0\u793a: \u8f93\u5165\u8f93\u51fa\u683c\u5f0f\u4e0e LeetCode \u76ee\u524d\u4f7f\u7528\u7684\u65b9\u5f0f\u4e00\u81f4\uff0c\u8be6\u60c5\u8bf7\u53c2\u9605 LeetCode \u5e8f\u5217\u5316\u4e8c\u53c9\u6811\u7684\u683c\u5f0f\u3002\u4f60\u5e76\u975e\u5fc5\u987b\u91c7\u53d6\u8fd9\u79cd\u65b9\u5f0f\uff0c\u4f60\u4e5f\u53ef\u4ee5\u91c7\u7528\u5176\u4ed6\u7684\u65b9\u6cd5\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u3002\n<\/code><\/pre> \n \n - \u63d0\u793a<\/li> \n <\/ul> \n
\u63d0\u793a\uff1a\n\n\u6811\u4e2d\u7ed3\u70b9\u6570\u5728\u8303\u56f4 [0, 104] \u5185\n-1000 <= Node.val <= 1000\n<\/code><\/pre> \n \n - \u63a5\u4e0b\u6765\uff0c\u5148\u5f00\u59cb\u8f7b\u677e\u6109\u5feb\u7684\u5206\u6790\u5de5\u4f5c<\/li> \n <\/ul> \n
\u5206\u6790<\/h3> \n \n - \u5c0f\u7ed3\u4e00\u4e0b\u9898\u76ee\u8981\u6c42\uff0c\u9700\u8981\u505a\u4e24\u4ef6\u4e8b\uff1a<\/li> \n <\/ul> \n
\n - serialize\u65b9\u6cd5\uff1a\u8f93\u5165\u4e8c\u53c9\u6811\u6839\u8282\u70b9\uff0c\u8fd4\u56de\u5b57\u7b26\u4e32<\/li> \n
- deserialize\u65b9\u6cd5\uff1a\u8f93\u5165\u5b57\u7b26\u4e32\uff0c\u65b9\u6cd5\u5185\u90e8\u6839\u636e\u5b57\u7b26\u4e32\u6784\u5efa\u4e00\u68f5\u4e8c\u53c9\u6811\uff0c\u7136\u540e\u8fd4\u56de\u6839\u8282\u70b9<\/li> \n <\/ol> \n
\n - \u8bf4\u5b9e\u8bdd\uff0c\u5f53\u65f6\u8bfb\u9898\u540e\u7684\u7b2c\u4e00\u53cd\u5e94\u662f\uff1a\u8fd9\u662f\u4e8c\u53c9\u6811\u7684\u57fa\u672c\u64cd\u4f5c\u561b\uff0c\u4e00\u5b9a\u662f\u4e2aeasy\uff0c\u7ed3\u679c\u53d1\u73b0\u5b98\u65b9\u8bbe\u5b9a\u7684\u96be\u5ea6\u662fhard\uff0c\u5f53\u65f6\u5c31\u89c9\u5f97\u8d5a\u5927\u4e86\uff01\uff01\uff01<\/li> \n
- \u7b80\u5355\u7684\u8bf4\uff0c\u89e3\u9898\u601d\u8def\u53ea\u6709\u56db\u4e2a\u5b57\uff1a\u524d\u5e8f\u904d\u5386<\/font><\/li> \n
- \u524d\u5e8f\u904d\u5386\u662f\u5565\uff1f\u5f88\u7b80\u5355\uff0c\u662f\u6307\u4e00\u79cd\u904d\u5386\u4e8c\u53c9\u6811\u7684\u987a\u5e8f\uff0c\u770b\u7740\u4e0b\u9762\u7684\u56fe\uff0c\u54b1\u4eec\u4e00\u8d77\u9ed8\u5ff5\uff1a\u6839\u5de6\u53f3<\/font>\uff0c\u6240\u4ee5\u524d\u5e8f\u904d\u5386\u4e0b\u56fe\u4e8c\u53c9\u6811\u7684\u7ed3\u679c\u662f\uff1a1,2,3
<\/li> \n - \u7c7b\u4f3c\u7684\u8fd8\u6709\u4e2d\u5e8f\u904d\u5386\uff0c\u4e2d\u5e8f\u904d\u5386\u8981\u6c42\u6839\u8282\u70b9\u5728\u8f93\u51fa\u4f4d\u7f6e\u7684\u4e2d\u95f4\uff0c\u4e5f\u5c31\u662f\u5de6\u6839\u53f3<\/font>\uff0c\u8fd8\u662f\u4e0a\u9762\u90a3\u4e2a\u4e8c\u53c9\u6811\uff0c\u4e2d\u5e8f\u904d\u5386\u7684\u7ed3\u679c\u662f\uff1a2,1,3<\/li> \n
- \u8fd8\u6709\u540e\u7eed\u904d\u5386\u662f\u5de6\u53f3\u6839<\/font>\uff0c\u4e0a\u9762\u90a3\u4e2a\u4e8c\u53c9\u6811\uff0c\u540e\u5e8f\u904d\u5386\u7684\u7ed3\u679c\u662f\uff1a2,3,1<\/li> \n
- \u81f3\u4e8e\u672c\u9898\u4e3a\u4f55\u8981\u9009\u524d\u5e8f\u904d\u5386\uff0c\u56e0\u4e3a\u5b57\u7b26\u4e32\u8f6c\u4e8c\u53c9\u6811\u65f6\uff0c\u4f1a\u6d89\u53ca\u5230\u6570\u7ec4\uff0c\u800c\u5c06\u6839\u8282\u70b9\u653e\u5728\u6570\u7ec4\u7684\u6700\u524d\u9762\uff0c\u8fd9\u6837\u65e2\u4fbf\u4e8e\u5904\u7406\u4e5f\u4fbf\u4e8e\u7406\u89e3<\/li> \n
- \u518d\u6765\u770b\u770b\u524d\u5e8f\u904d\u5386\u7684\u4ee3\u7801\u4e00\u822c\u600e\u4e48\u5199\uff1f\u6216\u8005\u8bf4\u5957\u8def\u662f\u4ec0\u4e48\uff1f<\/li> \n
- \u4f2a\u4ee3\u7801\u5982\u4e0b\uff0c\u53ef\u89c1\u662f\u4e2a\u975e\u5e38\u7b80\u5355\u7684\u9012\u5f52\u64cd\u4f5c<\/li> \n <\/ul> \n
private void dfs(TreeNode root) {\n \/\/ \u7ec8\u6b62\u6761\u4ef6\u662f\u53d1\u73b0\u5165\u53c2\u4e3a\u7a7a\n if(null==root) {\n return;\n }\n \n \/\/ 1. \u6839\n \u5904\u7406root\u7684\u4ee3\u7801\n \/\/ 2. \u5de6\n dfs(root.left);\n \/\/ 3. \u53f3\n dfs(root.right);\n}\n<\/code><\/pre> \n \n - \u4ee5\u524d\u9762\u90a3\u4e2a\u56fe\u4e0a\u7684\u4e8c\u53c9\u6811\u4e3a\u4f8b\uff0c\u5206\u6790\u4e0a\u8ff0\u4ee3\u7801\u5982\u4f55\u6267\u884c\uff1a\u8c03\u7528dfs\u7684\u65f6\u5019\u4f20\u5165\u7684\u662f\u6839\u8282\u70b9\uff0c\u5728dfs\u65b9\u6cd5\u4e2d\uff0c\u5904\u7406\u5b8c\u6839\u8282\u70b9\u540e\uff0c\u7acb\u5373\u8c03\u7528dfs\u5904\u7406\u5de6\u8282\u70b9\uff0c\u5728\u5904\u7406\u5de6\u8282\u70b9\u7684\u65f6\u5019\u8fd8\u4f1a\u518d\u9012\u5f52\u4e00\u6b21\uff0c\u4e0d\u8ba9\u8fc7\u5de6\u8282\u70b9\u7684\u5b50\u8282\u70b9\u90fd\u662fnull\uff0c\u6240\u4ee5\u8fd9\u4e2a\u9012\u5f52\u5565\u4e8b\u4e5f\u6ca1\u505a\uff0c\u5904\u7406\u5b8c\u5de6\u8282\u70b9\u540e\u518d\u8c03\u7528dfs\u5904\u7406\u53f3\u8282\u70b9\uff0c\u8fd9\u6837\u5c31\u5b8c\u6210\u4e86\u6839\u5de6\u53f3<\/font>\u7684\u5904\u7406<\/li> \n
- \u6ca1\u9519\uff0c\u4e8c\u53c9\u6811\u904d\u5386\u7684\u5957\u8def\u5c31\u662f\u8fd9\u4e48\u7b80\u5355\uff0c\u81f3\u4e8e\u4e2d\u5e8f\u548c\u540e\u7eed\u904d\u5386\u7684\u4ee3\u7801\uff0c\u548c\u4e0a\u9762\u7684\u5dee\u4e0d\u591a\uff0c\u65e0\u975e\u662f\u5c06\u4e09\u6bb5\u4ee3\u7801\u7684\u8c03\u7528\u987a\u5e8f\u8c03\u6574\u4e00\u4e0b\u5373\u53ef<\/li> \n
- \u63a5\u4e0b\u6765\uff0c\u7f16\u7801<\/li> \n <\/ul> \n
\u7f16\u7801\uff1a\u5e8f\u5217\u5316<\/h3> \n \n - \u5148\u770b\u5e8f\u5217\u5316\u7684\u4ee3\u7801<\/li> \n
- \u9996\u5148\u51c6\u5907\u4e00\u4e2aStringBuilder\u7c7b\u578b\u7684\u6210\u5458\u53d8\u91cfserializeRes\uff0c\u904d\u5386\u5230\u7684\u6bcf\u4e00\u4e2a\u5143\u7d20\u90fd\u5b58\u653e\u5728serializeRes\u7684\u5c3e\u90e8\uff0c\u7528\u9017\u53f7\u5206\u9694<\/li> \n <\/ul> \n
private StringBuilder serializeRes;\n<\/code><\/pre> \n \n - \u7136\u540e\u662fserialize\u65b9\u6cd5\u7684\u5b9e\u73b0\uff0c\u9996\u5148\u8981\u5224\u65adroot\u4e3a\u7a7a\u7684\u7279\u6b8a\u60c5\u51b5\uff0c\u53e6\u5916\u5c31\u662fserializeRes\u7684\u521d\u59cb\u5316\uff0c\u7136\u540e\u5c31\u4f1a\u8c03\u7528serializeDfs\u65b9\u6cd5\uff0c\u8fd9\u4e2aserializeDfs\u5c31\u662f\u904d\u5386\u4e8c\u53c9\u6811\u7684\u5177\u4f53\u5b9e\u73b0<\/li> \n <\/ul> \n
public String serialize(TreeNode root) {\n if (null==root) {\n return null;\n }\n\n serializeRes = new StringBuilder();\n serializeDfs(root);\n return serializeRes.toString();\n }\n<\/code><\/pre> \n \n - \u904d\u5386\u4e8c\u53c9\u6811\u7684\u6838\u5fc3\u903b\u8f91\uff0cserializeDfs\u65b9\u6cd5\u5982\u4e0b\uff0c\u53ef\u89c1\u548c\u54b1\u4eec\u521a\u624d\u7684\u4f2a\u4ee3\u7801\u5f88\u50cf\uff0c\u6bcf\u4e00\u4e2a\u8282\u70b9\u90fd\u4f1a\u88ab\u5b58\u5165serializeRes\uff0c\u5e76\u4e14\u4ee5\u9017\u53f7\u5206\u9694\uff0c\u53ea\u6709\u4e00\u5904\u9700\u8981\u6ce8\u610f\uff0c\u5c31\u662f\u6bcf\u5f53\u9047\u5230root\u7b49\u4e8enull\uff0c\u5c31\u5728serializeRes\u5c3e\u90e8\u8ffd\u52a0\u4e00\u4e2an<\/font>\uff0c\u8fd9\u6837\u5728serializeRes\u4e2d\u5c31\u76f8\u5f53\u4e8e\u6bcf\u4e2a\u8282\u70b9\u6ca1\u6709\u5de6\u5b50\u8282\u70b9\u6216\u8005\u53f3\u5b50\u8282\u70b9\u7684\u6807\u5fd7\uff0c\u8fd9\u5f88\u91cd\u8981\uff01<\/li> \n <\/ul> \n
private void serializeDfs(TreeNode root) {\n if(null==root) {\n serializeRes.append("n,");\n return;\n }\n\n \/\/ 1. \u6839\n serializeRes.append(root.val).append(",");\n \/\/ 2. \u5de6\n serializeDfs(root.left);\n \/\/ 3. \u53f3\n serializeDfs(root.right);\n}\n<\/code><\/pre> \n \n - \u4ee5\u524d\u9762\u56fe\u4e2d\u90a3\u4e2a\u6700\u7b80\u5355\u7684\u4e8c\u53c9\u6811\u4e3a\u4f8b\u662f\uff0c\u4e0a\u8ff0\u4ee3\u7801\u8f93\u51fa\u7684\u5b57\u7b26\u4e32\u5185\u5bb9\u5982\u4e0b\uff0c3\u57282,n,n<\/font>\u4e4b\u540e\uff0c\u663e\u7136\u662f\u5c062\u548c2\u7684\u5b50\u8282\u70b9\u90fd\u5904\u7406\u5b8c\u6bd5\u540e\uff0c\u624d\u53bb\u5904\u74063\uff0c\u8fd9\u5c31\u662f\u5178\u578b\u7684\u6839\u5de6\u53f3<\/font>\uff1a<\/li> \n <\/ul> \n
1,2,n,n,3,n,n,\n<\/code><\/pre> \n \u7f16\u7801\uff1a\u53cd\u5e8f\u5217\u5316<\/h3> \n \n - \u63a5\u4e0b\u6765\u7684\u53cd\u5e8f\u5217\u5316\uff0c\u4e5f\u662f\u4e25\u683c\u51c6\u5b88\u6839\u5de6\u53f3<\/font>\u7684\u987a\u5e8f\u5b9e\u73b0\u7684\uff0c\u5173\u952e\u662f\u6ce8\u610f\u5bf9\u5b57\u7b26n<\/font>\u7684\u5904\u7406\uff0c\u5b83\u8868\u793a\u4e00\u4e2a\u8282\u70b9\u6ca1\u6709\u5de6\u5b50\u8282\u70b9\u6216\u8005\u53f3\u5b50\u8282\u70b9\u4e86<\/li> \n
- \u9996\u5148\u662f\u4e24\u4e2a\u73af\u5883\u53d8\u91cf\uff0cdeserializeArray\u662f\u4e2a\u6570\u7ec4\uff0c\u5b57\u7b26\u4e32\u7528\u9017\u53f7\u5206\u5272\u4e4b\u540e\u751f\u6210\u7684\u6570\u7ec4\uff0c\u4ee3\u8868\u6574\u4e2a\u8981\u6062\u590d\u7684\u4e8c\u53c9\u6811\u7684\u6240\u6709\u5143\u7d20\uff0cdeserializeOffset\u7528\u4e8e\u8bb0\u5f55\u6570\u7ec4\u4e2d\u5df2\u7ecf\u6709\u591a\u5c11\u4e2a\u5143\u7d20\u5df2\u7ecf\u88ab\u56de\u590d\u5230\u4e8c\u53c9\u6811\u4e2d\u4e86\uff1a<\/li> \n <\/ul> \n
private String[] deserializeArray;\n\n private int deserializeOffset;\n<\/code><\/pre> \n \n - \u7136\u540e\u662f\u6700\u5916\u5c42\u7684\u53d1\u5e8f\u5217\u5316\u65b9\u6cd5\uff0c\u53ef\u89c1\u9996\u5148\u662f\u5904\u7406\u5f02\u5e38\u903b\u8f91\uff0c\u7136\u540e\u5c31\u4f1a\u7528\u5b57\u7b26\u4e32\u5206\u5272\u751f\u6210\u6570\u7ec4\uff0c\u518d\u8c03\u7528\u6784\u5efa\u4e8c\u53c9\u6811\u7684\u6838\u5fc3\u903b\u8f91deserializeDfs\uff1a<\/li> \n <\/ul> \n
public TreeNode deserialize(String data) {\n if (null==data) {\n return null;\n }\n\n deserializeArray = data.split(",");\n deserializeOffset = 0;\n return deserializeDfs();\n }\n<\/code><\/pre> \n \n - \u6700\u540e\u770b\u6784\u5efa\u4e8c\u53c9\u6811\u7684\u6838\u5fc3\u903b\u8f91deserializeDfs\u65b9\u6cd5\uff0c\u4e0d\u8981\u4ee5\u4e3a\u6784\u5efa\u4e8c\u53c9\u6811\u7684\u4ee3\u7801\u4f1a\u6bd4\u904d\u5386\u4e8c\u53c9\u6811\u7684\u4ee3\u7801\u590d\u6742\uff0c\u4ed4\u7ec6\u770b\uff0c\u53d1\u73b0\u8fd8\u662f\u4e25\u683c\u51c6\u5b88\u6839\u5de6\u53f3<\/font>\u7684\u987a\u5e8f\u53bb\u5904\u7406\u7684\uff0c\u5148\u751f\u6210\u6839\u8282\u70b9\uff0c\u7136\u540e\u9012\u5f52\u751f\u4ea7\u5de6\u5b50\u6811\u548c\u53f3\u5b50\u6811\uff0c\u8981\u6ce8\u610f\u7684\u5730\u65b9\u5c31\u662f\u9047\u5230\u5b57\u7b26n<\/font>\u7684\u65f6\u5019\u5c31\u4e0d\u8981\u7ee7\u7eed\u9012\u5f52\u4e86\uff0c\u6df1\u5ea6\u4e0a\u5df2\u7ecf\u5230\u5e95\u4e86\uff0c\u9700\u8981\u8fd4\u56de\u4e0a\u5c42\uff0c\u5b8c\u6210\u4e0a\u5c42\u5de6\u5b50\u8282\u70b9\u548c\u53f3\u5b50\u8282\u70b9\u7684\u521b\u5efa\uff1a<\/li> \n <\/ul> \n
private TreeNode deserializeDfs() {\n if (deserializeOffset>=deserializeArray.length) {\n return null;\n }\n\n if ("n".equals(deserializeArray[deserializeOffset])) {\n deserializeOffset++;\n return null;\n }\n\n \/\/ 1. \u6839","orderid":"0","title":"LeetCode297\uff1ahard\u7ea7\u522b\u4e2d\u6700\u7b80\u5355\u7684\u5b58\u5728\uff0cjava\u7248\uff0c\u7528\u65f6\u51fb\u8d2598%\uff0c\u5185\u5b58\u51fb\u8d25\u767e\u5206\u4e4b\u4e5d\u5341\u4e5d(\u4e00)","smalltitle":"","mid":"0","fname":"JAVA","special_id":"0","bak_id":"0","info":"0","hits":"382","pages":"2","comments":"0","posttime":"2023-09-23 15:44:47","list":"1695455087","username":"admin","author":"","copyfrom":"","copyfromurl":"","titlecolor":"","fonttype":"0","titleicon":"0","picurl":"https:\/\/www.cppentry.com\/upload_files\/","ispic":"0","yz":"1","yzer":"","yztime":"0","levels":"0","levelstime":"0","keywords":"LeetCode297<\/A> hard<\/A> \u522b\u4e2d\u6700<\/A> \u7b80\u5355\u7684<\/A> java<\/A> \u65f6\u51fb\u8d25<\/A> 98%<\/A> \u767e\u5206<\/A> \u4e5d\u5341\u4e5d<\/A>","jumpurl":"","iframeurl":"","style":"","template":"a:3:{s:4:\"head\";s:0:\"\";s:4:\"foot\";s:0:\"\";s:8:\"bencandy\";s:0:\"\";}","target":"0","ip":"112.94.1.100","lastfid":"0","money":"0","buyuser":"","passwd":"","allowdown":"","allowview":"","editer":"","edittime":"0","begintime":"0","endtime":"0","description":"LeetCode297\uff1ahard\u7ea7\u522b\u4e2d\u6700\u7b80\u5355\u7684\u5b58\u5728\uff0cjava\u7248\uff0c\u7528\u65f6\u51fb\u8d2598%\uff0c\u5185\u5b58\u51fb\u8d25\u767e\u5206\u4e4b\u4e5d\u5341\u4e5d","lastview":"1716081952","digg_num":"0","digg_time":"0","forbidcomment":"0","ifvote":"0","heart":"","htmlname":"","city_id":"0"},"page":"1"}
<\/li> \n
\u9898\u76ee\u7b80\u4ecb<\/h3> \n \n - \n
\n - \u4e8c\u53c9\u6811\u7684\u5e8f\u5217\u5316\u4e0e\u53cd\u5e8f\u5217\u5316<\/li> \n <\/ol> <\/li> \n <\/ul> \n
\u5e8f\u5217\u5316\u662f\u5c06\u4e00\u4e2a\u6570\u636e\u7ed3\u6784\u6216\u8005\u5bf9\u8c61\u8f6c\u6362\u4e3a\u8fde\u7eed\u7684\u6bd4\u7279\u4f4d\u7684\u64cd\u4f5c\uff0c\u8fdb\u800c\u53ef\u4ee5\u5c06\u8f6c\u6362\u540e\u7684\u6570\u636e\u5b58\u50a8\u5728\u4e00\u4e2a\u6587\u4ef6\u6216\u8005\u5185\u5b58\u4e2d\uff0c\u540c\u65f6\u4e5f\u53ef\u4ee5\u901a\u8fc7\u7f51\u7edc\u4f20\u8f93\u5230\u53e6\u4e00\u4e2a\u8ba1\u7b97\u673a\u73af\u5883\uff0c\u91c7\u53d6\u76f8\u53cd\u65b9\u5f0f\u91cd\u6784\u5f97\u5230\u539f\u6570\u636e\u3002\n\n\u8bf7\u8bbe\u8ba1\u4e00\u4e2a\u7b97\u6cd5\u6765\u5b9e\u73b0\u4e8c\u53c9\u6811\u7684\u5e8f\u5217\u5316\u4e0e\u53cd\u5e8f\u5217\u5316\u3002\u8fd9\u91cc\u4e0d\u9650\u5b9a\u4f60\u7684\u5e8f\u5217 \/ \u53cd\u5e8f\u5217\u5316\u7b97\u6cd5\u6267\u884c\u903b\u8f91\uff0c\u4f60\u53ea\u9700\u8981\u4fdd\u8bc1\u4e00\u4e2a\u4e8c\u53c9\u6811\u53ef\u4ee5\u88ab\u5e8f\u5217\u5316\u4e3a\u4e00\u4e2a\u5b57\u7b26\u4e32\u5e76\u4e14\u5c06\u8fd9\u4e2a\u5b57\u7b26\u4e32\u53cd\u5e8f\u5217\u5316\u4e3a\u539f\u59cb\u7684\u6811\u7ed3\u6784\u3002\n\n\u63d0\u793a: \u8f93\u5165\u8f93\u51fa\u683c\u5f0f\u4e0e LeetCode \u76ee\u524d\u4f7f\u7528\u7684\u65b9\u5f0f\u4e00\u81f4\uff0c\u8be6\u60c5\u8bf7\u53c2\u9605 LeetCode \u5e8f\u5217\u5316\u4e8c\u53c9\u6811\u7684\u683c\u5f0f\u3002\u4f60\u5e76\u975e\u5fc5\u987b\u91c7\u53d6\u8fd9\u79cd\u65b9\u5f0f\uff0c\u4f60\u4e5f\u53ef\u4ee5\u91c7\u7528\u5176\u4ed6\u7684\u65b9\u6cd5\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u3002\n<\/code><\/pre> \n \n - \u63d0\u793a<\/li> \n <\/ul> \n
\u63d0\u793a\uff1a\n\n\u6811\u4e2d\u7ed3\u70b9\u6570\u5728\u8303\u56f4 [0, 104] \u5185\n-1000 <= Node.val <= 1000\n<\/code><\/pre> \n \n - \u63a5\u4e0b\u6765\uff0c\u5148\u5f00\u59cb\u8f7b\u677e\u6109\u5feb\u7684\u5206\u6790\u5de5\u4f5c<\/li> \n <\/ul> \n
\u5206\u6790<\/h3> \n \n - \u5c0f\u7ed3\u4e00\u4e0b\u9898\u76ee\u8981\u6c42\uff0c\u9700\u8981\u505a\u4e24\u4ef6\u4e8b\uff1a<\/li> \n <\/ul> \n
\n - serialize\u65b9\u6cd5\uff1a\u8f93\u5165\u4e8c\u53c9\u6811\u6839\u8282\u70b9\uff0c\u8fd4\u56de\u5b57\u7b26\u4e32<\/li> \n
- deserialize\u65b9\u6cd5\uff1a\u8f93\u5165\u5b57\u7b26\u4e32\uff0c\u65b9\u6cd5\u5185\u90e8\u6839\u636e\u5b57\u7b26\u4e32\u6784\u5efa\u4e00\u68f5\u4e8c\u53c9\u6811\uff0c\u7136\u540e\u8fd4\u56de\u6839\u8282\u70b9<\/li> \n <\/ol> \n
\n - \u8bf4\u5b9e\u8bdd\uff0c\u5f53\u65f6\u8bfb\u9898\u540e\u7684\u7b2c\u4e00\u53cd\u5e94\u662f\uff1a\u8fd9\u662f\u4e8c\u53c9\u6811\u7684\u57fa\u672c\u64cd\u4f5c\u561b\uff0c\u4e00\u5b9a\u662f\u4e2aeasy\uff0c\u7ed3\u679c\u53d1\u73b0\u5b98\u65b9\u8bbe\u5b9a\u7684\u96be\u5ea6\u662fhard\uff0c\u5f53\u65f6\u5c31\u89c9\u5f97\u8d5a\u5927\u4e86\uff01\uff01\uff01<\/li> \n
- \u7b80\u5355\u7684\u8bf4\uff0c\u89e3\u9898\u601d\u8def\u53ea\u6709\u56db\u4e2a\u5b57\uff1a\u524d\u5e8f\u904d\u5386<\/font><\/li> \n
- \u524d\u5e8f\u904d\u5386\u662f\u5565\uff1f\u5f88\u7b80\u5355\uff0c\u662f\u6307\u4e00\u79cd\u904d\u5386\u4e8c\u53c9\u6811\u7684\u987a\u5e8f\uff0c\u770b\u7740\u4e0b\u9762\u7684\u56fe\uff0c\u54b1\u4eec\u4e00\u8d77\u9ed8\u5ff5\uff1a\u6839\u5de6\u53f3<\/font>\uff0c\u6240\u4ee5\u524d\u5e8f\u904d\u5386\u4e0b\u56fe\u4e8c\u53c9\u6811\u7684\u7ed3\u679c\u662f\uff1a1,2,3
<\/li> \n - \u7c7b\u4f3c\u7684\u8fd8\u6709\u4e2d\u5e8f\u904d\u5386\uff0c\u4e2d\u5e8f\u904d\u5386\u8981\u6c42\u6839\u8282\u70b9\u5728\u8f93\u51fa\u4f4d\u7f6e\u7684\u4e2d\u95f4\uff0c\u4e5f\u5c31\u662f\u5de6\u6839\u53f3<\/font>\uff0c\u8fd8\u662f\u4e0a\u9762\u90a3\u4e2a\u4e8c\u53c9\u6811\uff0c\u4e2d\u5e8f\u904d\u5386\u7684\u7ed3\u679c\u662f\uff1a2,1,3<\/li> \n
- \u8fd8\u6709\u540e\u7eed\u904d\u5386\u662f\u5de6\u53f3\u6839<\/font>\uff0c\u4e0a\u9762\u90a3\u4e2a\u4e8c\u53c9\u6811\uff0c\u540e\u5e8f\u904d\u5386\u7684\u7ed3\u679c\u662f\uff1a2,3,1<\/li> \n
- \u81f3\u4e8e\u672c\u9898\u4e3a\u4f55\u8981\u9009\u524d\u5e8f\u904d\u5386\uff0c\u56e0\u4e3a\u5b57\u7b26\u4e32\u8f6c\u4e8c\u53c9\u6811\u65f6\uff0c\u4f1a\u6d89\u53ca\u5230\u6570\u7ec4\uff0c\u800c\u5c06\u6839\u8282\u70b9\u653e\u5728\u6570\u7ec4\u7684\u6700\u524d\u9762\uff0c\u8fd9\u6837\u65e2\u4fbf\u4e8e\u5904\u7406\u4e5f\u4fbf\u4e8e\u7406\u89e3<\/li> \n
- \u518d\u6765\u770b\u770b\u524d\u5e8f\u904d\u5386\u7684\u4ee3\u7801\u4e00\u822c\u600e\u4e48\u5199\uff1f\u6216\u8005\u8bf4\u5957\u8def\u662f\u4ec0\u4e48\uff1f<\/li> \n
- \u4f2a\u4ee3\u7801\u5982\u4e0b\uff0c\u53ef\u89c1\u662f\u4e2a\u975e\u5e38\u7b80\u5355\u7684\u9012\u5f52\u64cd\u4f5c<\/li> \n <\/ul> \n
private void dfs(TreeNode root) {\n \/\/ \u7ec8\u6b62\u6761\u4ef6\u662f\u53d1\u73b0\u5165\u53c2\u4e3a\u7a7a\n if(null==root) {\n return;\n }\n \n \/\/ 1. \u6839\n \u5904\u7406root\u7684\u4ee3\u7801\n \/\/ 2. \u5de6\n dfs(root.left);\n \/\/ 3. \u53f3\n dfs(root.right);\n}\n<\/code><\/pre> \n \n - \u4ee5\u524d\u9762\u90a3\u4e2a\u56fe\u4e0a\u7684\u4e8c\u53c9\u6811\u4e3a\u4f8b\uff0c\u5206\u6790\u4e0a\u8ff0\u4ee3\u7801\u5982\u4f55\u6267\u884c\uff1a\u8c03\u7528dfs\u7684\u65f6\u5019\u4f20\u5165\u7684\u662f\u6839\u8282\u70b9\uff0c\u5728dfs\u65b9\u6cd5\u4e2d\uff0c\u5904\u7406\u5b8c\u6839\u8282\u70b9\u540e\uff0c\u7acb\u5373\u8c03\u7528dfs\u5904\u7406\u5de6\u8282\u70b9\uff0c\u5728\u5904\u7406\u5de6\u8282\u70b9\u7684\u65f6\u5019\u8fd8\u4f1a\u518d\u9012\u5f52\u4e00\u6b21\uff0c\u4e0d\u8ba9\u8fc7\u5de6\u8282\u70b9\u7684\u5b50\u8282\u70b9\u90fd\u662fnull\uff0c\u6240\u4ee5\u8fd9\u4e2a\u9012\u5f52\u5565\u4e8b\u4e5f\u6ca1\u505a\uff0c\u5904\u7406\u5b8c\u5de6\u8282\u70b9\u540e\u518d\u8c03\u7528dfs\u5904\u7406\u53f3\u8282\u70b9\uff0c\u8fd9\u6837\u5c31\u5b8c\u6210\u4e86\u6839\u5de6\u53f3<\/font>\u7684\u5904\u7406<\/li> \n
- \u6ca1\u9519\uff0c\u4e8c\u53c9\u6811\u904d\u5386\u7684\u5957\u8def\u5c31\u662f\u8fd9\u4e48\u7b80\u5355\uff0c\u81f3\u4e8e\u4e2d\u5e8f\u548c\u540e\u7eed\u904d\u5386\u7684\u4ee3\u7801\uff0c\u548c\u4e0a\u9762\u7684\u5dee\u4e0d\u591a\uff0c\u65e0\u975e\u662f\u5c06\u4e09\u6bb5\u4ee3\u7801\u7684\u8c03\u7528\u987a\u5e8f\u8c03\u6574\u4e00\u4e0b\u5373\u53ef<\/li> \n
- \u63a5\u4e0b\u6765\uff0c\u7f16\u7801<\/li> \n <\/ul> \n
\u7f16\u7801\uff1a\u5e8f\u5217\u5316<\/h3> \n \n - \u5148\u770b\u5e8f\u5217\u5316\u7684\u4ee3\u7801<\/li> \n
- \u9996\u5148\u51c6\u5907\u4e00\u4e2aStringBuilder\u7c7b\u578b\u7684\u6210\u5458\u53d8\u91cfserializeRes\uff0c\u904d\u5386\u5230\u7684\u6bcf\u4e00\u4e2a\u5143\u7d20\u90fd\u5b58\u653e\u5728serializeRes\u7684\u5c3e\u90e8\uff0c\u7528\u9017\u53f7\u5206\u9694<\/li> \n <\/ul> \n
private StringBuilder serializeRes;\n<\/code><\/pre> \n \n - \u7136\u540e\u662fserialize\u65b9\u6cd5\u7684\u5b9e\u73b0\uff0c\u9996\u5148\u8981\u5224\u65adroot\u4e3a\u7a7a\u7684\u7279\u6b8a\u60c5\u51b5\uff0c\u53e6\u5916\u5c31\u662fserializeRes\u7684\u521d\u59cb\u5316\uff0c\u7136\u540e\u5c31\u4f1a\u8c03\u7528serializeDfs\u65b9\u6cd5\uff0c\u8fd9\u4e2aserializeDfs\u5c31\u662f\u904d\u5386\u4e8c\u53c9\u6811\u7684\u5177\u4f53\u5b9e\u73b0<\/li> \n <\/ul> \n
public String serialize(TreeNode root) {\n if (null==root) {\n return null;\n }\n\n serializeRes = new StringBuilder();\n serializeDfs(root);\n return serializeRes.toString();\n }\n<\/code><\/pre> \n \n - \u904d\u5386\u4e8c\u53c9\u6811\u7684\u6838\u5fc3\u903b\u8f91\uff0cserializeDfs\u65b9\u6cd5\u5982\u4e0b\uff0c\u53ef\u89c1\u548c\u54b1\u4eec\u521a\u624d\u7684\u4f2a\u4ee3\u7801\u5f88\u50cf\uff0c\u6bcf\u4e00\u4e2a\u8282\u70b9\u90fd\u4f1a\u88ab\u5b58\u5165serializeRes\uff0c\u5e76\u4e14\u4ee5\u9017\u53f7\u5206\u9694\uff0c\u53ea\u6709\u4e00\u5904\u9700\u8981\u6ce8\u610f\uff0c\u5c31\u662f\u6bcf\u5f53\u9047\u5230root\u7b49\u4e8enull\uff0c\u5c31\u5728serializeRes\u5c3e\u90e8\u8ffd\u52a0\u4e00\u4e2an<\/font>\uff0c\u8fd9\u6837\u5728serializeRes\u4e2d\u5c31\u76f8\u5f53\u4e8e\u6bcf\u4e2a\u8282\u70b9\u6ca1\u6709\u5de6\u5b50\u8282\u70b9\u6216\u8005\u53f3\u5b50\u8282\u70b9\u7684\u6807\u5fd7\uff0c\u8fd9\u5f88\u91cd\u8981\uff01<\/li> \n <\/ul> \n
private void serializeDfs(TreeNode root) {\n if(null==root) {\n serializeRes.append("n,");\n return;\n }\n\n \/\/ 1. \u6839\n serializeRes.append(root.val).append(",");\n \/\/ 2. \u5de6\n serializeDfs(root.left);\n \/\/ 3. \u53f3\n serializeDfs(root.right);\n}\n<\/code><\/pre> \n \n - \u4ee5\u524d\u9762\u56fe\u4e2d\u90a3\u4e2a\u6700\u7b80\u5355\u7684\u4e8c\u53c9\u6811\u4e3a\u4f8b\u662f\uff0c\u4e0a\u8ff0\u4ee3\u7801\u8f93\u51fa\u7684\u5b57\u7b26\u4e32\u5185\u5bb9\u5982\u4e0b\uff0c3\u57282,n,n<\/font>\u4e4b\u540e\uff0c\u663e\u7136\u662f\u5c062\u548c2\u7684\u5b50\u8282\u70b9\u90fd\u5904\u7406\u5b8c\u6bd5\u540e\uff0c\u624d\u53bb\u5904\u74063\uff0c\u8fd9\u5c31\u662f\u5178\u578b\u7684\u6839\u5de6\u53f3<\/font>\uff1a<\/li> \n <\/ul> \n
1,2,n,n,3,n,n,\n<\/code><\/pre> \n \u7f16\u7801\uff1a\u53cd\u5e8f\u5217\u5316<\/h3> \n \n - \u63a5\u4e0b\u6765\u7684\u53cd\u5e8f\u5217\u5316\uff0c\u4e5f\u662f\u4e25\u683c\u51c6\u5b88\u6839\u5de6\u53f3<\/font>\u7684\u987a\u5e8f\u5b9e\u73b0\u7684\uff0c\u5173\u952e\u662f\u6ce8\u610f\u5bf9\u5b57\u7b26n<\/font>\u7684\u5904\u7406\uff0c\u5b83\u8868\u793a\u4e00\u4e2a\u8282\u70b9\u6ca1\u6709\u5de6\u5b50\u8282\u70b9\u6216\u8005\u53f3\u5b50\u8282\u70b9\u4e86<\/li> \n
- \u9996\u5148\u662f\u4e24\u4e2a\u73af\u5883\u53d8\u91cf\uff0cdeserializeArray\u662f\u4e2a\u6570\u7ec4\uff0c\u5b57\u7b26\u4e32\u7528\u9017\u53f7\u5206\u5272\u4e4b\u540e\u751f\u6210\u7684\u6570\u7ec4\uff0c\u4ee3\u8868\u6574\u4e2a\u8981\u6062\u590d\u7684\u4e8c\u53c9\u6811\u7684\u6240\u6709\u5143\u7d20\uff0cdeserializeOffset\u7528\u4e8e\u8bb0\u5f55\u6570\u7ec4\u4e2d\u5df2\u7ecf\u6709\u591a\u5c11\u4e2a\u5143\u7d20\u5df2\u7ecf\u88ab\u56de\u590d\u5230\u4e8c\u53c9\u6811\u4e2d\u4e86\uff1a<\/li> \n <\/ul> \n
private String[] deserializeArray;\n\n private int deserializeOffset;\n<\/code><\/pre> \n \n - \u7136\u540e\u662f\u6700\u5916\u5c42\u7684\u53d1\u5e8f\u5217\u5316\u65b9\u6cd5\uff0c\u53ef\u89c1\u9996\u5148\u662f\u5904\u7406\u5f02\u5e38\u903b\u8f91\uff0c\u7136\u540e\u5c31\u4f1a\u7528\u5b57\u7b26\u4e32\u5206\u5272\u751f\u6210\u6570\u7ec4\uff0c\u518d\u8c03\u7528\u6784\u5efa\u4e8c\u53c9\u6811\u7684\u6838\u5fc3\u903b\u8f91deserializeDfs\uff1a<\/li> \n <\/ul> \n
public TreeNode deserialize(String data) {\n if (null==data) {\n return null;\n }\n\n deserializeArray = data.split(",");\n deserializeOffset = 0;\n return deserializeDfs();\n }\n<\/code><\/pre> \n \n - \u6700\u540e\u770b\u6784\u5efa\u4e8c\u53c9\u6811\u7684\u6838\u5fc3\u903b\u8f91deserializeDfs\u65b9\u6cd5\uff0c\u4e0d\u8981\u4ee5\u4e3a\u6784\u5efa\u4e8c\u53c9\u6811\u7684\u4ee3\u7801\u4f1a\u6bd4\u904d\u5386\u4e8c\u53c9\u6811\u7684\u4ee3\u7801\u590d\u6742\uff0c\u4ed4\u7ec6\u770b\uff0c\u53d1\u73b0\u8fd8\u662f\u4e25\u683c\u51c6\u5b88\u6839\u5de6\u53f3<\/font>\u7684\u987a\u5e8f\u53bb\u5904\u7406\u7684\uff0c\u5148\u751f\u6210\u6839\u8282\u70b9\uff0c\u7136\u540e\u9012\u5f52\u751f\u4ea7\u5de6\u5b50\u6811\u548c\u53f3\u5b50\u6811\uff0c\u8981\u6ce8\u610f\u7684\u5730\u65b9\u5c31\u662f\u9047\u5230\u5b57\u7b26n<\/font>\u7684\u65f6\u5019\u5c31\u4e0d\u8981\u7ee7\u7eed\u9012\u5f52\u4e86\uff0c\u6df1\u5ea6\u4e0a\u5df2\u7ecf\u5230\u5e95\u4e86\uff0c\u9700\u8981\u8fd4\u56de\u4e0a\u5c42\uff0c\u5b8c\u6210\u4e0a\u5c42\u5de6\u5b50\u8282\u70b9\u548c\u53f3\u5b50\u8282\u70b9\u7684\u521b\u5efa\uff1a<\/li> \n <\/ul> \n
private TreeNode deserializeDfs() {\n if (deserializeOffset>=deserializeArray.length) {\n return null;\n }\n\n if ("n".equals(deserializeArray[deserializeOffset])) {\n deserializeOffset++;\n return null;\n }\n\n \/\/ 1. \u6839","orderid":"0","title":"LeetCode297\uff1ahard\u7ea7\u522b\u4e2d\u6700\u7b80\u5355\u7684\u5b58\u5728\uff0cjava\u7248\uff0c\u7528\u65f6\u51fb\u8d2598%\uff0c\u5185\u5b58\u51fb\u8d25\u767e\u5206\u4e4b\u4e5d\u5341\u4e5d(\u4e00)","smalltitle":"","mid":"0","fname":"JAVA","special_id":"0","bak_id":"0","info":"0","hits":"382","pages":"2","comments":"0","posttime":"2023-09-23 15:44:47","list":"1695455087","username":"admin","author":"","copyfrom":"","copyfromurl":"","titlecolor":"","fonttype":"0","titleicon":"0","picurl":"https:\/\/www.cppentry.com\/upload_files\/","ispic":"0","yz":"1","yzer":"","yztime":"0","levels":"0","levelstime":"0","keywords":"LeetCode297<\/A> hard<\/A> \u522b\u4e2d\u6700<\/A> \u7b80\u5355\u7684<\/A> java<\/A> \u65f6\u51fb\u8d25<\/A> 98%<\/A> \u767e\u5206<\/A> \u4e5d\u5341\u4e5d<\/A>","jumpurl":"","iframeurl":"","style":"","template":"a:3:{s:4:\"head\";s:0:\"\";s:4:\"foot\";s:0:\"\";s:8:\"bencandy\";s:0:\"\";}","target":"0","ip":"112.94.1.100","lastfid":"0","money":"0","buyuser":"","passwd":"","allowdown":"","allowview":"","editer":"","edittime":"0","begintime":"0","endtime":"0","description":"LeetCode297\uff1ahard\u7ea7\u522b\u4e2d\u6700\u7b80\u5355\u7684\u5b58\u5728\uff0cjava\u7248\uff0c\u7528\u65f6\u51fb\u8d2598%\uff0c\u5185\u5b58\u51fb\u8d25\u767e\u5206\u4e4b\u4e5d\u5341\u4e5d","lastview":"1716081952","digg_num":"0","digg_time":"0","forbidcomment":"0","ifvote":"0","heart":"","htmlname":"","city_id":"0"},"page":"1"}
- \n
- \u4e8c\u53c9\u6811\u7684\u5e8f\u5217\u5316\u4e0e\u53cd\u5e8f\u5217\u5316<\/li> \n <\/ol> <\/li> \n <\/ul> \n
\u5e8f\u5217\u5316\u662f\u5c06\u4e00\u4e2a\u6570\u636e\u7ed3\u6784\u6216\u8005\u5bf9\u8c61\u8f6c\u6362\u4e3a\u8fde\u7eed\u7684\u6bd4\u7279\u4f4d\u7684\u64cd\u4f5c\uff0c\u8fdb\u800c\u53ef\u4ee5\u5c06\u8f6c\u6362\u540e\u7684\u6570\u636e\u5b58\u50a8\u5728\u4e00\u4e2a\u6587\u4ef6\u6216\u8005\u5185\u5b58\u4e2d\uff0c\u540c\u65f6\u4e5f\u53ef\u4ee5\u901a\u8fc7\u7f51\u7edc\u4f20\u8f93\u5230\u53e6\u4e00\u4e2a\u8ba1\u7b97\u673a\u73af\u5883\uff0c\u91c7\u53d6\u76f8\u53cd\u65b9\u5f0f\u91cd\u6784\u5f97\u5230\u539f\u6570\u636e\u3002\n\n\u8bf7\u8bbe\u8ba1\u4e00\u4e2a\u7b97\u6cd5\u6765\u5b9e\u73b0\u4e8c\u53c9\u6811\u7684\u5e8f\u5217\u5316\u4e0e\u53cd\u5e8f\u5217\u5316\u3002\u8fd9\u91cc\u4e0d\u9650\u5b9a\u4f60\u7684\u5e8f\u5217 \/ \u53cd\u5e8f\u5217\u5316\u7b97\u6cd5\u6267\u884c\u903b\u8f91\uff0c\u4f60\u53ea\u9700\u8981\u4fdd\u8bc1\u4e00\u4e2a\u4e8c\u53c9\u6811\u53ef\u4ee5\u88ab\u5e8f\u5217\u5316\u4e3a\u4e00\u4e2a\u5b57\u7b26\u4e32\u5e76\u4e14\u5c06\u8fd9\u4e2a\u5b57\u7b26\u4e32\u53cd\u5e8f\u5217\u5316\u4e3a\u539f\u59cb\u7684\u6811\u7ed3\u6784\u3002\n\n\u63d0\u793a: \u8f93\u5165\u8f93\u51fa\u683c\u5f0f\u4e0e LeetCode \u76ee\u524d\u4f7f\u7528\u7684\u65b9\u5f0f\u4e00\u81f4\uff0c\u8be6\u60c5\u8bf7\u53c2\u9605 LeetCode \u5e8f\u5217\u5316\u4e8c\u53c9\u6811\u7684\u683c\u5f0f\u3002\u4f60\u5e76\u975e\u5fc5\u987b\u91c7\u53d6\u8fd9\u79cd\u65b9\u5f0f\uff0c\u4f60\u4e5f\u53ef\u4ee5\u91c7\u7528\u5176\u4ed6\u7684\u65b9\u6cd5\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u3002\n<\/code><\/pre> \n
- \n
- \u63d0\u793a<\/li> \n <\/ul> \n
\u63d0\u793a\uff1a\n\n\u6811\u4e2d\u7ed3\u70b9\u6570\u5728\u8303\u56f4 [0, 104] \u5185\n-1000 <= Node.val <= 1000\n<\/code><\/pre> \n
- \n
- \u63a5\u4e0b\u6765\uff0c\u5148\u5f00\u59cb\u8f7b\u677e\u6109\u5feb\u7684\u5206\u6790\u5de5\u4f5c<\/li> \n <\/ul> \n
\u5206\u6790<\/h3> \n
- \n
- \u5c0f\u7ed3\u4e00\u4e0b\u9898\u76ee\u8981\u6c42\uff0c\u9700\u8981\u505a\u4e24\u4ef6\u4e8b\uff1a<\/li> \n <\/ul> \n
- \n
- serialize\u65b9\u6cd5\uff1a\u8f93\u5165\u4e8c\u53c9\u6811\u6839\u8282\u70b9\uff0c\u8fd4\u56de\u5b57\u7b26\u4e32<\/li> \n
- deserialize\u65b9\u6cd5\uff1a\u8f93\u5165\u5b57\u7b26\u4e32\uff0c\u65b9\u6cd5\u5185\u90e8\u6839\u636e\u5b57\u7b26\u4e32\u6784\u5efa\u4e00\u68f5\u4e8c\u53c9\u6811\uff0c\u7136\u540e\u8fd4\u56de\u6839\u8282\u70b9<\/li> \n <\/ol> \n
- \n
- \u8bf4\u5b9e\u8bdd\uff0c\u5f53\u65f6\u8bfb\u9898\u540e\u7684\u7b2c\u4e00\u53cd\u5e94\u662f\uff1a\u8fd9\u662f\u4e8c\u53c9\u6811\u7684\u57fa\u672c\u64cd\u4f5c\u561b\uff0c\u4e00\u5b9a\u662f\u4e2aeasy\uff0c\u7ed3\u679c\u53d1\u73b0\u5b98\u65b9\u8bbe\u5b9a\u7684\u96be\u5ea6\u662fhard\uff0c\u5f53\u65f6\u5c31\u89c9\u5f97\u8d5a\u5927\u4e86\uff01\uff01\uff01<\/li> \n
- \u7b80\u5355\u7684\u8bf4\uff0c\u89e3\u9898\u601d\u8def\u53ea\u6709\u56db\u4e2a\u5b57\uff1a\u524d\u5e8f\u904d\u5386<\/font><\/li> \n
- \u524d\u5e8f\u904d\u5386\u662f\u5565\uff1f\u5f88\u7b80\u5355\uff0c\u662f\u6307\u4e00\u79cd\u904d\u5386\u4e8c\u53c9\u6811\u7684\u987a\u5e8f\uff0c\u770b\u7740\u4e0b\u9762\u7684\u56fe\uff0c\u54b1\u4eec\u4e00\u8d77\u9ed8\u5ff5\uff1a\u6839\u5de6\u53f3<\/font>\uff0c\u6240\u4ee5\u524d\u5e8f\u904d\u5386\u4e0b\u56fe\u4e8c\u53c9\u6811\u7684\u7ed3\u679c\u662f\uff1a1,2,3
<\/li> \n- \u7c7b\u4f3c\u7684\u8fd8\u6709\u4e2d\u5e8f\u904d\u5386\uff0c\u4e2d\u5e8f\u904d\u5386\u8981\u6c42\u6839\u8282\u70b9\u5728\u8f93\u51fa\u4f4d\u7f6e\u7684\u4e2d\u95f4\uff0c\u4e5f\u5c31\u662f\u5de6\u6839\u53f3<\/font>\uff0c\u8fd8\u662f\u4e0a\u9762\u90a3\u4e2a\u4e8c\u53c9\u6811\uff0c\u4e2d\u5e8f\u904d\u5386\u7684\u7ed3\u679c\u662f\uff1a2,1,3<\/li> \n
- \u8fd8\u6709\u540e\u7eed\u904d\u5386\u662f\u5de6\u53f3\u6839<\/font>\uff0c\u4e0a\u9762\u90a3\u4e2a\u4e8c\u53c9\u6811\uff0c\u540e\u5e8f\u904d\u5386\u7684\u7ed3\u679c\u662f\uff1a2,3,1<\/li> \n
- \u81f3\u4e8e\u672c\u9898\u4e3a\u4f55\u8981\u9009\u524d\u5e8f\u904d\u5386\uff0c\u56e0\u4e3a\u5b57\u7b26\u4e32\u8f6c\u4e8c\u53c9\u6811\u65f6\uff0c\u4f1a\u6d89\u53ca\u5230\u6570\u7ec4\uff0c\u800c\u5c06\u6839\u8282\u70b9\u653e\u5728\u6570\u7ec4\u7684\u6700\u524d\u9762\uff0c\u8fd9\u6837\u65e2\u4fbf\u4e8e\u5904\u7406\u4e5f\u4fbf\u4e8e\u7406\u89e3<\/li> \n
- \u518d\u6765\u770b\u770b\u524d\u5e8f\u904d\u5386\u7684\u4ee3\u7801\u4e00\u822c\u600e\u4e48\u5199\uff1f\u6216\u8005\u8bf4\u5957\u8def\u662f\u4ec0\u4e48\uff1f<\/li> \n
- \u4f2a\u4ee3\u7801\u5982\u4e0b\uff0c\u53ef\u89c1\u662f\u4e2a\u975e\u5e38\u7b80\u5355\u7684\u9012\u5f52\u64cd\u4f5c<\/li> \n <\/ul> \n
private void dfs(TreeNode root) {\n \/\/ \u7ec8\u6b62\u6761\u4ef6\u662f\u53d1\u73b0\u5165\u53c2\u4e3a\u7a7a\n if(null==root) {\n return;\n }\n \n \/\/ 1. \u6839\n \u5904\u7406root\u7684\u4ee3\u7801\n \/\/ 2. \u5de6\n dfs(root.left);\n \/\/ 3. \u53f3\n dfs(root.right);\n}\n<\/code><\/pre> \n
- \n
- \u4ee5\u524d\u9762\u90a3\u4e2a\u56fe\u4e0a\u7684\u4e8c\u53c9\u6811\u4e3a\u4f8b\uff0c\u5206\u6790\u4e0a\u8ff0\u4ee3\u7801\u5982\u4f55\u6267\u884c\uff1a\u8c03\u7528dfs\u7684\u65f6\u5019\u4f20\u5165\u7684\u662f\u6839\u8282\u70b9\uff0c\u5728dfs\u65b9\u6cd5\u4e2d\uff0c\u5904\u7406\u5b8c\u6839\u8282\u70b9\u540e\uff0c\u7acb\u5373\u8c03\u7528dfs\u5904\u7406\u5de6\u8282\u70b9\uff0c\u5728\u5904\u7406\u5de6\u8282\u70b9\u7684\u65f6\u5019\u8fd8\u4f1a\u518d\u9012\u5f52\u4e00\u6b21\uff0c\u4e0d\u8ba9\u8fc7\u5de6\u8282\u70b9\u7684\u5b50\u8282\u70b9\u90fd\u662fnull\uff0c\u6240\u4ee5\u8fd9\u4e2a\u9012\u5f52\u5565\u4e8b\u4e5f\u6ca1\u505a\uff0c\u5904\u7406\u5b8c\u5de6\u8282\u70b9\u540e\u518d\u8c03\u7528dfs\u5904\u7406\u53f3\u8282\u70b9\uff0c\u8fd9\u6837\u5c31\u5b8c\u6210\u4e86\u6839\u5de6\u53f3<\/font>\u7684\u5904\u7406<\/li> \n
- \u6ca1\u9519\uff0c\u4e8c\u53c9\u6811\u904d\u5386\u7684\u5957\u8def\u5c31\u662f\u8fd9\u4e48\u7b80\u5355\uff0c\u81f3\u4e8e\u4e2d\u5e8f\u548c\u540e\u7eed\u904d\u5386\u7684\u4ee3\u7801\uff0c\u548c\u4e0a\u9762\u7684\u5dee\u4e0d\u591a\uff0c\u65e0\u975e\u662f\u5c06\u4e09\u6bb5\u4ee3\u7801\u7684\u8c03\u7528\u987a\u5e8f\u8c03\u6574\u4e00\u4e0b\u5373\u53ef<\/li> \n
- \u63a5\u4e0b\u6765\uff0c\u7f16\u7801<\/li> \n <\/ul> \n
\u7f16\u7801\uff1a\u5e8f\u5217\u5316<\/h3> \n
- \n
- \u5148\u770b\u5e8f\u5217\u5316\u7684\u4ee3\u7801<\/li> \n
- \u9996\u5148\u51c6\u5907\u4e00\u4e2aStringBuilder\u7c7b\u578b\u7684\u6210\u5458\u53d8\u91cfserializeRes\uff0c\u904d\u5386\u5230\u7684\u6bcf\u4e00\u4e2a\u5143\u7d20\u90fd\u5b58\u653e\u5728serializeRes\u7684\u5c3e\u90e8\uff0c\u7528\u9017\u53f7\u5206\u9694<\/li> \n <\/ul> \n
private StringBuilder serializeRes;\n<\/code><\/pre> \n
- \n
- \u7136\u540e\u662fserialize\u65b9\u6cd5\u7684\u5b9e\u73b0\uff0c\u9996\u5148\u8981\u5224\u65adroot\u4e3a\u7a7a\u7684\u7279\u6b8a\u60c5\u51b5\uff0c\u53e6\u5916\u5c31\u662fserializeRes\u7684\u521d\u59cb\u5316\uff0c\u7136\u540e\u5c31\u4f1a\u8c03\u7528serializeDfs\u65b9\u6cd5\uff0c\u8fd9\u4e2aserializeDfs\u5c31\u662f\u904d\u5386\u4e8c\u53c9\u6811\u7684\u5177\u4f53\u5b9e\u73b0<\/li> \n <\/ul> \n
public String serialize(TreeNode root) {\n if (null==root) {\n return null;\n }\n\n serializeRes = new StringBuilder();\n serializeDfs(root);\n return serializeRes.toString();\n }\n<\/code><\/pre> \n
- \n
- \u904d\u5386\u4e8c\u53c9\u6811\u7684\u6838\u5fc3\u903b\u8f91\uff0cserializeDfs\u65b9\u6cd5\u5982\u4e0b\uff0c\u53ef\u89c1\u548c\u54b1\u4eec\u521a\u624d\u7684\u4f2a\u4ee3\u7801\u5f88\u50cf\uff0c\u6bcf\u4e00\u4e2a\u8282\u70b9\u90fd\u4f1a\u88ab\u5b58\u5165serializeRes\uff0c\u5e76\u4e14\u4ee5\u9017\u53f7\u5206\u9694\uff0c\u53ea\u6709\u4e00\u5904\u9700\u8981\u6ce8\u610f\uff0c\u5c31\u662f\u6bcf\u5f53\u9047\u5230root\u7b49\u4e8enull\uff0c\u5c31\u5728serializeRes\u5c3e\u90e8\u8ffd\u52a0\u4e00\u4e2an<\/font>\uff0c\u8fd9\u6837\u5728serializeRes\u4e2d\u5c31\u76f8\u5f53\u4e8e\u6bcf\u4e2a\u8282\u70b9\u6ca1\u6709\u5de6\u5b50\u8282\u70b9\u6216\u8005\u53f3\u5b50\u8282\u70b9\u7684\u6807\u5fd7\uff0c\u8fd9\u5f88\u91cd\u8981\uff01<\/li> \n <\/ul> \n
private void serializeDfs(TreeNode root) {\n if(null==root) {\n serializeRes.append("n,");\n return;\n }\n\n \/\/ 1. \u6839\n serializeRes.append(root.val).append(",");\n \/\/ 2. \u5de6\n serializeDfs(root.left);\n \/\/ 3. \u53f3\n serializeDfs(root.right);\n}\n<\/code><\/pre> \n
- \n
- \u4ee5\u524d\u9762\u56fe\u4e2d\u90a3\u4e2a\u6700\u7b80\u5355\u7684\u4e8c\u53c9\u6811\u4e3a\u4f8b\u662f\uff0c\u4e0a\u8ff0\u4ee3\u7801\u8f93\u51fa\u7684\u5b57\u7b26\u4e32\u5185\u5bb9\u5982\u4e0b\uff0c3\u57282,n,n<\/font>\u4e4b\u540e\uff0c\u663e\u7136\u662f\u5c062\u548c2\u7684\u5b50\u8282\u70b9\u90fd\u5904\u7406\u5b8c\u6bd5\u540e\uff0c\u624d\u53bb\u5904\u74063\uff0c\u8fd9\u5c31\u662f\u5178\u578b\u7684\u6839\u5de6\u53f3<\/font>\uff1a<\/li> \n <\/ul> \n
1,2,n,n,3,n,n,\n<\/code><\/pre> \n
\u7f16\u7801\uff1a\u53cd\u5e8f\u5217\u5316<\/h3> \n
- \n
- \u63a5\u4e0b\u6765\u7684\u53cd\u5e8f\u5217\u5316\uff0c\u4e5f\u662f\u4e25\u683c\u51c6\u5b88\u6839\u5de6\u53f3<\/font>\u7684\u987a\u5e8f\u5b9e\u73b0\u7684\uff0c\u5173\u952e\u662f\u6ce8\u610f\u5bf9\u5b57\u7b26n<\/font>\u7684\u5904\u7406\uff0c\u5b83\u8868\u793a\u4e00\u4e2a\u8282\u70b9\u6ca1\u6709\u5de6\u5b50\u8282\u70b9\u6216\u8005\u53f3\u5b50\u8282\u70b9\u4e86<\/li> \n
- \u9996\u5148\u662f\u4e24\u4e2a\u73af\u5883\u53d8\u91cf\uff0cdeserializeArray\u662f\u4e2a\u6570\u7ec4\uff0c\u5b57\u7b26\u4e32\u7528\u9017\u53f7\u5206\u5272\u4e4b\u540e\u751f\u6210\u7684\u6570\u7ec4\uff0c\u4ee3\u8868\u6574\u4e2a\u8981\u6062\u590d\u7684\u4e8c\u53c9\u6811\u7684\u6240\u6709\u5143\u7d20\uff0cdeserializeOffset\u7528\u4e8e\u8bb0\u5f55\u6570\u7ec4\u4e2d\u5df2\u7ecf\u6709\u591a\u5c11\u4e2a\u5143\u7d20\u5df2\u7ecf\u88ab\u56de\u590d\u5230\u4e8c\u53c9\u6811\u4e2d\u4e86\uff1a<\/li> \n <\/ul> \n
private String[] deserializeArray;\n\n private int deserializeOffset;\n<\/code><\/pre> \n
- \n
- \u7136\u540e\u662f\u6700\u5916\u5c42\u7684\u53d1\u5e8f\u5217\u5316\u65b9\u6cd5\uff0c\u53ef\u89c1\u9996\u5148\u662f\u5904\u7406\u5f02\u5e38\u903b\u8f91\uff0c\u7136\u540e\u5c31\u4f1a\u7528\u5b57\u7b26\u4e32\u5206\u5272\u751f\u6210\u6570\u7ec4\uff0c\u518d\u8c03\u7528\u6784\u5efa\u4e8c\u53c9\u6811\u7684\u6838\u5fc3\u903b\u8f91deserializeDfs\uff1a<\/li> \n <\/ul> \n
public TreeNode deserialize(String data) {\n if (null==data) {\n return null;\n }\n\n deserializeArray = data.split(",");\n deserializeOffset = 0;\n return deserializeDfs();\n }\n<\/code><\/pre> \n
- \n
- \u6700\u540e\u770b\u6784\u5efa\u4e8c\u53c9\u6811\u7684\u6838\u5fc3\u903b\u8f91deserializeDfs\u65b9\u6cd5\uff0c\u4e0d\u8981\u4ee5\u4e3a\u6784\u5efa\u4e8c\u53c9\u6811\u7684\u4ee3\u7801\u4f1a\u6bd4\u904d\u5386\u4e8c\u53c9\u6811\u7684\u4ee3\u7801\u590d\u6742\uff0c\u4ed4\u7ec6\u770b\uff0c\u53d1\u73b0\u8fd8\u662f\u4e25\u683c\u51c6\u5b88\u6839\u5de6\u53f3<\/font>\u7684\u987a\u5e8f\u53bb\u5904\u7406\u7684\uff0c\u5148\u751f\u6210\u6839\u8282\u70b9\uff0c\u7136\u540e\u9012\u5f52\u751f\u4ea7\u5de6\u5b50\u6811\u548c\u53f3\u5b50\u6811\uff0c\u8981\u6ce8\u610f\u7684\u5730\u65b9\u5c31\u662f\u9047\u5230\u5b57\u7b26n<\/font>\u7684\u65f6\u5019\u5c31\u4e0d\u8981\u7ee7\u7eed\u9012\u5f52\u4e86\uff0c\u6df1\u5ea6\u4e0a\u5df2\u7ecf\u5230\u5e95\u4e86\uff0c\u9700\u8981\u8fd4\u56de\u4e0a\u5c42\uff0c\u5b8c\u6210\u4e0a\u5c42\u5de6\u5b50\u8282\u70b9\u548c\u53f3\u5b50\u8282\u70b9\u7684\u521b\u5efa\uff1a<\/li> \n <\/ul> \n
private TreeNode deserializeDfs() {\n if (deserializeOffset>=deserializeArray.length) {\n return null;\n }\n\n if ("n".equals(deserializeArray[deserializeOffset])) {\n deserializeOffset++;\n return null;\n }\n\n \/\/ 1. \u6839","orderid":"0","title":"LeetCode297\uff1ahard\u7ea7\u522b\u4e2d\u6700\u7b80\u5355\u7684\u5b58\u5728\uff0cjava\u7248\uff0c\u7528\u65f6\u51fb\u8d2598%\uff0c\u5185\u5b58\u51fb\u8d25\u767e\u5206\u4e4b\u4e5d\u5341\u4e5d(\u4e00)","smalltitle":"","mid":"0","fname":"JAVA","special_id":"0","bak_id":"0","info":"0","hits":"382","pages":"2","comments":"0","posttime":"2023-09-23 15:44:47","list":"1695455087","username":"admin","author":"","copyfrom":"","copyfromurl":"","titlecolor":"","fonttype":"0","titleicon":"0","picurl":"https:\/\/www.cppentry.com\/upload_files\/","ispic":"0","yz":"1","yzer":"","yztime":"0","levels":"0","levelstime":"0","keywords":"LeetCode297<\/A> hard<\/A> \u522b\u4e2d\u6700<\/A> \u7b80\u5355\u7684<\/A> java<\/A> \u65f6\u51fb\u8d25<\/A> 98%<\/A> \u767e\u5206<\/A> \u4e5d\u5341\u4e5d<\/A>","jumpurl":"","iframeurl":"","style":"","template":"a:3:{s:4:\"head\";s:0:\"\";s:4:\"foot\";s:0:\"\";s:8:\"bencandy\";s:0:\"\";}","target":"0","ip":"112.94.1.100","lastfid":"0","money":"0","buyuser":"","passwd":"","allowdown":"","allowview":"","editer":"","edittime":"0","begintime":"0","endtime":"0","description":"LeetCode297\uff1ahard\u7ea7\u522b\u4e2d\u6700\u7b80\u5355\u7684\u5b58\u5728\uff0cjava\u7248\uff0c\u7528\u65f6\u51fb\u8d2598%\uff0c\u5185\u5b58\u51fb\u8d25\u767e\u5206\u4e4b\u4e5d\u5341\u4e5d","lastview":"1716081952","digg_num":"0","digg_time":"0","forbidcomment":"0","ifvote":"0","heart":"","htmlname":"","city_id":"0"},"page":"1"}
- \u6700\u540e\u770b\u6784\u5efa\u4e8c\u53c9\u6811\u7684\u6838\u5fc3\u903b\u8f91deserializeDfs\u65b9\u6cd5\uff0c\u4e0d\u8981\u4ee5\u4e3a\u6784\u5efa\u4e8c\u53c9\u6811\u7684\u4ee3\u7801\u4f1a\u6bd4\u904d\u5386\u4e8c\u53c9\u6811\u7684\u4ee3\u7801\u590d\u6742\uff0c\u4ed4\u7ec6\u770b\uff0c\u53d1\u73b0\u8fd8\u662f\u4e25\u683c\u51c6\u5b88\u6839\u5de6\u53f3<\/font>\u7684\u987a\u5e8f\u53bb\u5904\u7406\u7684\uff0c\u5148\u751f\u6210\u6839\u8282\u70b9\uff0c\u7136\u540e\u9012\u5f52\u751f\u4ea7\u5de6\u5b50\u6811\u548c\u53f3\u5b50\u6811\uff0c\u8981\u6ce8\u610f\u7684\u5730\u65b9\u5c31\u662f\u9047\u5230\u5b57\u7b26n<\/font>\u7684\u65f6\u5019\u5c31\u4e0d\u8981\u7ee7\u7eed\u9012\u5f52\u4e86\uff0c\u6df1\u5ea6\u4e0a\u5df2\u7ecf\u5230\u5e95\u4e86\uff0c\u9700\u8981\u8fd4\u56de\u4e0a\u5c42\uff0c\u5b8c\u6210\u4e0a\u5c42\u5de6\u5b50\u8282\u70b9\u548c\u53f3\u5b50\u8282\u70b9\u7684\u521b\u5efa\uff1a<\/li> \n <\/ul> \n
- \u9996\u5148\u662f\u4e24\u4e2a\u73af\u5883\u53d8\u91cf\uff0cdeserializeArray\u662f\u4e2a\u6570\u7ec4\uff0c\u5b57\u7b26\u4e32\u7528\u9017\u53f7\u5206\u5272\u4e4b\u540e\u751f\u6210\u7684\u6570\u7ec4\uff0c\u4ee3\u8868\u6574\u4e2a\u8981\u6062\u590d\u7684\u4e8c\u53c9\u6811\u7684\u6240\u6709\u5143\u7d20\uff0cdeserializeOffset\u7528\u4e8e\u8bb0\u5f55\u6570\u7ec4\u4e2d\u5df2\u7ecf\u6709\u591a\u5c11\u4e2a\u5143\u7d20\u5df2\u7ecf\u88ab\u56de\u590d\u5230\u4e8c\u53c9\u6811\u4e2d\u4e86\uff1a<\/li> \n <\/ul> \n
- \u63a5\u4e0b\u6765\u7684\u53cd\u5e8f\u5217\u5316\uff0c\u4e5f\u662f\u4e25\u683c\u51c6\u5b88\u6839\u5de6\u53f3<\/font>\u7684\u987a\u5e8f\u5b9e\u73b0\u7684\uff0c\u5173\u952e\u662f\u6ce8\u610f\u5bf9\u5b57\u7b26n<\/font>\u7684\u5904\u7406\uff0c\u5b83\u8868\u793a\u4e00\u4e2a\u8282\u70b9\u6ca1\u6709\u5de6\u5b50\u8282\u70b9\u6216\u8005\u53f3\u5b50\u8282\u70b9\u4e86<\/li> \n
- \u4ee5\u524d\u9762\u56fe\u4e2d\u90a3\u4e2a\u6700\u7b80\u5355\u7684\u4e8c\u53c9\u6811\u4e3a\u4f8b\u662f\uff0c\u4e0a\u8ff0\u4ee3\u7801\u8f93\u51fa\u7684\u5b57\u7b26\u4e32\u5185\u5bb9\u5982\u4e0b\uff0c3\u57282,n,n<\/font>\u4e4b\u540e\uff0c\u663e\u7136\u662f\u5c062\u548c2\u7684\u5b50\u8282\u70b9\u90fd\u5904\u7406\u5b8c\u6bd5\u540e\uff0c\u624d\u53bb\u5904\u74063\uff0c\u8fd9\u5c31\u662f\u5178\u578b\u7684\u6839\u5de6\u53f3<\/font>\uff1a<\/li> \n <\/ul> \n
- \u904d\u5386\u4e8c\u53c9\u6811\u7684\u6838\u5fc3\u903b\u8f91\uff0cserializeDfs\u65b9\u6cd5\u5982\u4e0b\uff0c\u53ef\u89c1\u548c\u54b1\u4eec\u521a\u624d\u7684\u4f2a\u4ee3\u7801\u5f88\u50cf\uff0c\u6bcf\u4e00\u4e2a\u8282\u70b9\u90fd\u4f1a\u88ab\u5b58\u5165serializeRes\uff0c\u5e76\u4e14\u4ee5\u9017\u53f7\u5206\u9694\uff0c\u53ea\u6709\u4e00\u5904\u9700\u8981\u6ce8\u610f\uff0c\u5c31\u662f\u6bcf\u5f53\u9047\u5230root\u7b49\u4e8enull\uff0c\u5c31\u5728serializeRes\u5c3e\u90e8\u8ffd\u52a0\u4e00\u4e2an<\/font>\uff0c\u8fd9\u6837\u5728serializeRes\u4e2d\u5c31\u76f8\u5f53\u4e8e\u6bcf\u4e2a\u8282\u70b9\u6ca1\u6709\u5de6\u5b50\u8282\u70b9\u6216\u8005\u53f3\u5b50\u8282\u70b9\u7684\u6807\u5fd7\uff0c\u8fd9\u5f88\u91cd\u8981\uff01<\/li> \n <\/ul> \n
- \u7136\u540e\u662fserialize\u65b9\u6cd5\u7684\u5b9e\u73b0\uff0c\u9996\u5148\u8981\u5224\u65adroot\u4e3a\u7a7a\u7684\u7279\u6b8a\u60c5\u51b5\uff0c\u53e6\u5916\u5c31\u662fserializeRes\u7684\u521d\u59cb\u5316\uff0c\u7136\u540e\u5c31\u4f1a\u8c03\u7528serializeDfs\u65b9\u6cd5\uff0c\u8fd9\u4e2aserializeDfs\u5c31\u662f\u904d\u5386\u4e8c\u53c9\u6811\u7684\u5177\u4f53\u5b9e\u73b0<\/li> \n <\/ul> \n
- \u524d\u5e8f\u904d\u5386\u662f\u5565\uff1f\u5f88\u7b80\u5355\uff0c\u662f\u6307\u4e00\u79cd\u904d\u5386\u4e8c\u53c9\u6811\u7684\u987a\u5e8f\uff0c\u770b\u7740\u4e0b\u9762\u7684\u56fe\uff0c\u54b1\u4eec\u4e00\u8d77\u9ed8\u5ff5\uff1a\u6839\u5de6\u53f3<\/font>\uff0c\u6240\u4ee5\u524d\u5e8f\u904d\u5386\u4e0b\u56fe\u4e8c\u53c9\u6811\u7684\u7ed3\u679c\u662f\uff1a1,2,3
- \u5c0f\u7ed3\u4e00\u4e0b\u9898\u76ee\u8981\u6c42\uff0c\u9700\u8981\u505a\u4e24\u4ef6\u4e8b\uff1a<\/li> \n <\/ul> \n
- \u63a5\u4e0b\u6765\uff0c\u5148\u5f00\u59cb\u8f7b\u677e\u6109\u5feb\u7684\u5206\u6790\u5de5\u4f5c<\/li> \n <\/ul> \n
- \u63d0\u793a<\/li> \n <\/ul> \n