8000 LeetCode/086. Scramble String at master · algorithms-forks/LeetCode · GitHub
[go: up one dir, main page]

Skip to content
{"payload":{"allShortcutsEnabled":false,"path":"086. Scramble String","repo":{"id":490101071,"defaultBranch":"master","name":"LeetCode","ownerLogin":"algorithms-forks","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2022-05-09T01:47:36.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/105182575?v=4","public":true,"private":false,"isOrgOwned":true},"currentUser":null,"refInfo":{"name":"master","listCacheKey":"v0:1652060858.178429","canEdit":false,"refType":"branch","currentOid":"1756256d7e619164076bbf358c8f7ca68cd8bd79"},"tree":{"items":[{"name":"README.md","path":"086. Scramble String/README.md","contentType":"file"},{"name":"TEST.cc","path":"086. Scramble String/TEST.cc","contentType":"file"},{"name":"solution.h","path":"086. Scramble String/solution.h","contentType":"file"}],"templateDirectorySuggestionUrl":null,"readme":{"displayName":"README.md","richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cp dir=\"auto\"\u003e两个字符串 s1, s2, 问是否是 scramble. --\u0026gt; 定义问题的解为:\u003ccode\u003eS(s1, s2)\u003c/code\u003e, s1,s2 的长度为 n (若不等,直接 \u003ccode\u003ereturn false;\u003c/code\u003e).\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e然后看给出的例子:\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\" gr|eat rg|tae ----- i == 2 (1)\n / \\ / \\\n g|r e|at r|g ta|e ----- i == 1 (2)\n / \\ / \\ / \\ / \\\n g r e a|t r g t|a e ----- i == 1 (3)\n / \\ / \\\n a t t a\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003e gr|eat rg|tae ----- i == 2 (1)\n / \\ / \\\n g|r e|at r|g ta|e ----- i == 1 (2)\n / \\ / \\ / \\ / \\\n g r e a|t r g t|a e ----- i == 1 (3)\n / \\ / \\\n a t t a\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e可以来看看,这里面究竟有几种情况。按照上图所示的步骤进行分析:\u003c/p\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eS(s1, s2) = S(s1.substr(0,i), s2.substr(0,i)) \u0026amp;\u0026amp; S(s1.substr(i), s2.substr(i))\u003c/code\u003e (第一种可能)\u003c/li\u003e\n\u003cli\u003e重点看 \u003ccode\u003ee|at\u003c/code\u003e 与 \u003ccode\u003eta|e\u003c/code\u003e, 可以推得: \u003ccode\u003eS(s1, s2) = S(s1.substr(0,i), s2.substr(n-i)) \u0026amp;\u0026amp; S(s1.substr(i), s2.substr(0, n-i))\u003c/code\u003e (第二种可能)\u003c/li\u003e\n\u003cli\u003e可以并入 2. 但可以看出 S 最简单的解: \u003ccode\u003eS(\"a\", \"a\") == true\u003c/code\u003e 以及 \u003ccode\u003eS(\"t\", \"t\") == true\u003c/code\u003e. 即 \u003ccode\u003eif (s1 == s2) return true;\u003c/code\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp dir=\"auto\"\u003e综上三步,可以得到递归的公式:\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\" _________ true; \n S(s1, s2) _|s1 == s2\n | __ S(s1.substr(0,i), s2.substr(0,i)) \u0026amp;\u0026amp; S(s1.substr(i), s2.substr(i))\n |_ or |\n |__ S(s1.substr(0,i), s2.substr(n-i)) \u0026amp;\u0026amp; S(s1.substr(i), s2.substr(n-i))\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003e _________ true; \n S(s1, s2) _|s1 == s2\n | __ S(s1.substr(0,i), s2.substr(0,i)) \u0026amp;\u0026amp; S(s1.substr(i), s2.substr(i))\n |_ or |\n |__ S(s1.substr(0,i), s2.substr(n-i)) \u0026amp;\u0026amp; S(s1.substr(i), s2.substr(n-i))\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e显然 i 的范围是 [1 ,n-1].\u003c/p\u003e\n\u003chr\u003e\n\u003cp dir=\"auto\"\u003e有了这个公式做支撑,我们基本看到了递归的雏形。也可以试着用这个来写出代码。\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-c++ notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"if (s1.empty() || s2.empty() || s1.size() != s2.size()) return false;\nelse if (s1 == s2) return true;\nfor (size_t i=1; i\u0026lt;s1.size(); ++i)\n if (isScramble(s1.substr(0,i), s2.substr(0,i)) \u0026amp;\u0026amp; isScramble(s1.substr(i), s2.substr(i))) return true;\n else if (isScramble(s1.substr(0,i), s2.substr(s2.size()-i)) \u0026amp;\u0026amp; isScramble(s1.substr(i), s2.substr(0, s2.size()-i))) return true;\nreturn false;\"\u003e\u003cpre\u003e\u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e (s1.empty() || s2.empty() || s1.size() != s2.size()) \u003cspan class=\"pl-k\"\u003ereturn\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003efalse\u003c/span\u003e;\n\u003cspan class=\"pl-k\"\u003eelse\u003c/span\u003e \u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e (s1 == s2) \u003cspan class=\"pl-k\"\u003ereturn\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003etrue\u003c/span\u003e;\n\u003cspan class=\"pl-k\"\u003efor\u003c/span\u003e (\u003cspan class=\"pl-c1\"\u003esize_t\u003c/span\u003e i=\u003cspan class=\"pl-c1\"\u003e1\u003c/span\u003e; i\u0026lt;s1.size(); ++i)\n \u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e (isScramble(s1.substr(\u003cspan class=\"pl-c1\"\u003e0\u003c/span\u003e,i), s2.substr(\u003cspan class=\"pl-c1\"\u003e0\u003c/span\u003e,i)) \u0026amp;\u0026amp; isScramble(s1.substr(i), s2.substr(i))) \u003cspan class=\"pl-k\"\u003ereturn\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003etrue\u003c/span\u003e;\n \u003cspan class=\"pl-k\"\u003eelse\u003c/span\u003e \u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e (isScramble(s1.substr(\u003cspan class=\"pl-c1\"\u003e0\u003c/span\u003e,i), s2.substr(s2.size()-i)) \u0026amp;\u0026amp; isScramble(s1.substr(i), s2.substr(\u003cspan class=\"pl-c1\"\u003e0\u003c/span\u003e, s2.size()-i))) \u003cspan class=\"pl-k\"\u003ereturn\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003etrue\u003c/span\u003e;\n\u003cspan class=\"pl-k\"\u003ereturn\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003efalse\u003c/span\u003e;\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e六行代码基本已经从逻辑上解出了这道题。但如果去 LeetCode 上提交,会发现 TimeOut. 因为这样其实与枚举无异。如果遇到连字符都不尽相同的两个字符串,实在是浪费时间。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e于是我们考虑排除两种情况:\u003c/p\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003es1 与 s2 中字符组成有差异,如 s1 中有 'g', s2 中却无。直接 \u003ccode\u003ereturn false;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003es1 与 s2 中字符出现的个数有差异,如 s1 中 'g' 出现两次,而 s2 中却只有一次。直接 \u003ccode\u003ereturn false;\u003c/code\u003e.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp dir=\"auto\"\u003e根据这俩个条件,我们在第三行补充代码:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-c++ notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"for(auto c : s1)\n if (s2.find_first_of(c) == string::npos) return false;\n else if (std::count(s1.cbegin(), s1.cend(), c) != std::count(s2.cbegin(), s2.cend(), c)) return false;\"\u003e\u003cpre\u003e\u003cspan class=\"pl-k\"\u003efor\u003c/span\u003e(\u003cspan class=\"pl-k\"\u003eauto\u003c/span\u003e c : s1)\n \u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e (s2.find_first_of(c) == string::npos) \u003cspan class=\"pl-k\"\u003ereturn\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003efalse\u003c/span\u003e;\n \u003cspan class=\"pl-k\"\u003eelse\u003c/span\u003e \u003cspan class=\"pl-k\"\u003eif\u003c/span\u003e (std::count(s1.cbegin(), s1.cend(), c) != std::count(s2.cbegin(), s2.cend(), c)) \u003cspan class=\"pl-k\"\u003ereturn\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003efalse\u003c/span\u003e;\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e然后提交,AC, 16ms. 问题顺利解决。\u003c/p\u003e\n\u003c/article\u003e","errorMessage":null,"headerInfo":{"toc":[],"siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Falgorithms-forks%2FLeetCode%2Ftree%2Fmaster%2F086.%2520Scramble%2520String"}},"totalCount":3,"showBranchInfobar":true},"fileTree":{"":{"items":[{"name":"000. Two Sum","path":"000. Two Sum","contentType":"directory"},{"name":"001. Add Two Numbers","path":"001. Add Two Numbers","contentType":"directory"},{"name":"002. Longest Substring Without Repeating Characters","path":"002. Longest Substring Without Repeating Characters","contentType":"directory"},{"name":"004. Longest Palindromic Substring","path":"004. Longest Palindromic Substring","contentType":"directory"},{"name":"005. ZigZag Conversion","path":"005. ZigZag Conversion","contentType":"directory"},{"name":"006. Reverse Integer","path":"006. Reverse Integer","contentType":"directory"},{"name":"007. Linked List Cycle","path":"007. Linked List Cycle","contentType":"directory"},{"name":"008. Palindrome Number","path":"008. Palindrome Number","contentType":"directory"},{"name":"009. Regular Expression Matching","path":"009. Regular Expression Matching","contentType":"directory"},{"name":"010. Container With Most Water","path":"010. Container With Most Water","contentType":"directory"},{"name":"011. Integer to Roman","path":"011. Integer to Roman","contentType":"directory"},{"name":"012. Roman to Integer","path":"012. Roman to Integer","contentType":"directory"},{"name":"013. Longest Common Prefix","path":"013. Longest Common Prefix","contentType":"directory"},{"name":"015. 3Sum Closest","path":"015. 3Sum Closest","contentType":"directory"},{"name":"016. Letter Combinations of a Phone Number","path":"016. Letter Combinations of a Phone Number","contentType":"directory"},{"name":"017. 4Sum","path":"017. 4Sum","contentType":"directory"},{"name":"018. Remove Nth Node from End of List","path":"018. Remove Nth Node from End of List","contentType":"directory"},{"name":"019. Valid Parentheses","path":"019. Valid Parentheses","contentType":"directory"},{"name":"020. Merge Two Sorted Lists","path":"020. Merge Two Sorted Lists","contentType":"directory"},{"name":"021. Generate Parentheses","path":"021. Generate Parentheses","contentType":"directory"},{"name":"022. Merge k Sorted Lists","path":"022. Merge k Sorted Lists","contentType":"directory"},{"name":"023. Swap Nodes in Pairs","path":"023. Swap Nodes in Pairs","contentType":"directory"},{"name":"024. Reverse Nodes in k-Group","path":"024. Reverse Nodes in k-Group","contentType":"directory"},{"name":"025. Remove Duplicates from Sorted Array","path":"025. Remove Duplicates from Sorted Array","contentType":"directory"},{"name":"026. Remove Element","path":"026. Remove Element","contentType":"directory"},{"name":"027. Implement strStr()","path":"027. Implement strStr()","contentType":"directory"},{"name":"030. Next Permutation","path":"030. Next Permutation","contentType":"directory"},{"name":"032. Search in Rotated Sorted Array","path":"032. Search in Rotated Sorted Array","contentType":"directory"},{"name":"033. Search for a Range","path":"033. Search for a Range","contentType":"directory"},{"name":"034. Search Insert Position","path":"034. Search Insert Position","contentType":"directory"},{"name":"035. Valid Sudoku","path":"035. Valid Sudoku","contentType":"directory"},{"name":"036. Sudoku Solver","path":"036. Sudoku Solver","contentType":"directory"},{"name":"037. Count and Say","path":"037. Count and Say","contentType":"directory"},{"name":"038. Combination Sum","path":"038. Combination Sum","contentType":"directory"},{"name":"039. Combination Sum II","path":"039. Combination Sum II","contentType":"directory"},{"name":"040. First Missing Positive","path":"040. First Missing Positive","contentType":"directory"},{"name":"041. Trapping Rain Water","path":"041. Trapping Rain Water","contentType":"directory"},{"name":"042. Multiply Strings","path":"042. Multiply Strings","contentType":"directory"},{"name":"044. Jump Game II","path":"044. Jump Game II","contentType":"directory"},{"name":"045. Permutations","path":"045. Permutations","contentType":"directory"},{"name":"046. Permutations II","path":"046. Permutations II","contentType":"directory"},{"name":"047. Rotate Image","path":"047. Rotate Image","contentType":"directory"},{"name":"048. Group Anagrams","path":"048. Group Anagrams","contentType":"directory"},{"name":"049. Pow(x, n)","path":"049. Pow(x, n)","contentType":"directory"},{"name":"050. N-Queens","path":"050. N-Queens","contentType":"directory"},{"name":"051. N-Queens II","path":"051. N-Queens II","contentType":"directory"},{"name":"052. Maximum Subarray","path":"052. Maximum Subarray","contentType":"directory"},{"name":"053. Spiral Matrix","path":"053. Spiral Matrix","contentType":"directory"},{"name":"054. Jump Game","path":"054. Jump Game","contentType":"directory"},{"name":"055. Merge Intervals","path":"055. Merge Intervals","contentType":"directory"},{"name":"056. Insert Interval","path":"056. Insert Interval","contentType":"directory"},{"name":"057. Length of Last Word","path":"057. Length of Last Word","contentType":"directory"},{"name":"058. Spiral Matrix II","path":"058. Spiral Matrix II","contentType":"directory"},{"name":"059. Permutation Sequence","path":"059. Permutation Sequence","contentType":"directory"},{"name":"060. Rotate List","path":"060. Rotate List","contentType":"directory"},{"name":"061. Unique Paths","path":"061. Unique Paths","contentType":"directory"},{"name":"062. Unique Paths II","path":"062. Unique Paths II","contentType":"directory"},{"name":"063. Minimum Path Sum","path":"063. Minimum Path Sum","contentType":"directory"},{"name":"065. Plus One","path":"065. Plus One","contentType":"directory"},{"name":"066. Add Binary","path":"066. Add Binary","contentType":"directory"},{"name":"068. Sqrt(x)","path":"068. Sqrt(x)","contentType":"directory"},{"name":"069. Climbing Stairs","path":"069. Climbing Stairs","contentType":"directory"},{"name":"070. Simplify Path","path":"070. Simplify Path","contentType":"directory"},{"name":"071. Edit Distance","path":"071. Edit Distance","contentType":"directory"},{"name":"072. Set Matrix Zeroes","path":"072. Set Matrix Zeroes","contentType":"directory"},{"name":"073. Search a 2D Matrix","path":"073. Search a 2D Matrix","contentType":"directory"},{"name":"074. Sort Colors","path":"074. Sort Colors","contentType":"directory"},{"name":"076. Combinations","path":"076. Combinations","contentType":"directory"},{"name":"077. Subsets","path":"077. Subsets","contentType":"directory"},{"name":"079. Remove Duplicates from Sorted Array II","path":"079. Remove Duplicates from Sorted Array II","contentType":"directory"},{"name":"080. Search in Rotated Sorted Array II","path":"080. Search in Rotated Sorted Array II","contentType":"directory"},{"name":"081. Remove Duplicates from Sorted List II","path":"081. Remove Duplicates from Sorted List II","contentType":"directory"},{"name":"082. Remove Duplicates from Sorted List","path":"082. Remove Duplicates from Sorted List","contentType":"directory"},{"name":"083. Largest Rectangle in Histogram","path":"083. Largest Rectangle in Histogram","contentType":"directory"},{"name":"084. Maximal Rectangle","path":"084. Maximal Rectangle","contentType":"directory"},{"name":"085. Partition List","path":"085. Partition List","contentType":"directory"},{"name":"086. Scramble String","path":"086. Scramble String","contentType":"directory"},{"name":"087. Merge Sorted Array","path":"087. Merge Sorted Array","contentType":"directory"},{"name":"088. Gray Code","path":"088. Gray Code","contentType":"directory"},{"name":"089. Subsets II","path":"089. Subsets II","contentType":"directory"},{"name":"090. Insertion Sort List","path":"090. Insertion Sort List","contentType":"directory"},{"name":"091. Reverse Linked List II","path":"091. Reverse Linked List II","contentType":"directory"},{"name":"092. Restore IP Addresses","path":"092. Restore IP Addresses","contentType":"directory"},{"name":"093. Binary Tree Inorder Traversal","path":"093. Binary Tree Inorder Traversal","contentType":"directory"},{"name":"094. Unique Binary Search Trees II","path":"094. Unique Binary Search Trees II","contentType":"directory"},{"name":"095. Unique Binary Search Trees","path":"095. Unique Binary Search Trees","contentType":"directory"},{"name":"097. Validate Binary Search Tree","path":"097. Validate Binary Search Tree","contentType":"directory"},{"name":"098. Recover Binary Search Tree","path":"098. Recover Binary Search Tree","contentType":"directory"},{"name":"099. Same Tree","path":"099. Same Tree","contentType":"directory"},{"name":"100. Symmetric Tree","path":"100. Symmetric Tree","contentType":"directory"},{"name":"101. Binary Tree Level Order Traversal","path":"101. Binary Tree Level Order Traversal","contentType":"directory"},{"name":"102. Binary Tree Zigzag Level Order Traversal","path":"102. Binary Tree Zigzag Level Order Traversal","contentType":"directory"},{"name":"103. Maximum Depth of Binary Tree","path":"103. Maximum Depth of Binary Tree","contentType":"directory"},{"name":"104. Construct Binary Tree from Preorder and Inorder Traversal","path":"104. Construct Binary Tree from Preorder and Inorder Traversal","contentType":"directory"},{"name":"105. Construct Binary Tree from Inorder and Postorder Traversal","path":"105. Construct Binary Tree from Inorder and Postorder Traversal","contentType":"directory"},{"name":"106. Binary Tree Level Order Traversal II","path":"106. Binary Tree Level Order Traversal II","contentType":"directory"},{"name":"107. Convert Sorted Array to Binary Search Tree","path":"107. Convert Sorted Array to Binary Search Tree","contentType":"directory"},{"name":"108. Convert Sorted List to Binary Search Tree","path":"108. Convert Sorted List to Binary Search Tree","contentType":"directory"},{"name":"109. Balanced Binary Tree","path":"109. Balanced Binary Tree","contentType":"directory"},{"name":"110. Minimum Depth of Binary Tree","path":"110. Minimum Depth of Binary Tree","contentType":"directory"},{"name":"111. Path Sum","path":"111. Path Sum","contentType":"directory"},{"name":"112. Path Sum II","path":"112. Path Sum II","contentType":"directory"},{"name":"113. Flatten Binary Tree to Linked List","path":"113. Flatten Binary Tree to Linked List","contentType":"directory"},{"name":"114. Distinct Subsequences","path":"114. Distinct Subsequences","contentType":"directory"},{"name":"115. Populating Next Right Pointers in Each Node","path":"115. Populating Next Right Pointers in Each Node","contentType":"directory"},{"name":"116. Populating Next Right Pointers in Each Node II","path":"116. Populating Next Right Pointers in Each Node II","contentType":"directory"},{"name":"117. Pascal's Triangle","path":"117. Pascal's Triangle","contentType":"directory"},{"name":"118. Pascal's Triangle II","path":"118. Pascal's Triangle II","contentType":"directory"},{"name":"119. Triangle","path":"119. Triangle","contentType":"directory"},{"name":"120. Best Time to Buy and Sell Stock","path":"120. Best Time to Buy and Sell Stock","contentType":"directory"},{"name":"121. Best Time to Buy and Sell Stock II","path":"121. Best Time to Buy and Sell Stock II","contentType":"directory"},{"name":"122. Best Time to Buy and Sell Stock III","path":"122. Best Time to Buy and Sell Stock III","contentType":"directory"},{"name":"122. Sort List","path":"122. Sort List","contentType":"directory"},{"name":"123. Binary Tree Maximum Path Sum","path":"123. Binary Tree Maximum Path Sum","contentType":"directory"},{"name":"124. Valid Palindrome","path":"124. Valid Palindrome","contentType":"directory"},{"name":"125. Reorder List","path":"125. Reorder List","contentType":"directory"},{"name":"127. Longest Consecutive Sequence","path":"127. Longest Consecutive Sequence","contentType":"directory"},{"name":"128. Sum Root to Leaf Numbers","path":"128. Sum Root to Leaf Numbers","contentType":"directory"},{"name":"130. Palindrome Partitioning","path":"130. Palindrome Partitioning","contentType":"directory"},{"name":"132. Clone Graph","path":"132. Clone Graph","contentType":"directory"},{"name":"133. Gas Station","path":"133. Gas Station","contentType":"directory"},{"name":"135. Single Number","path":"135. Single Number","contentType":"directory"},{"name":"136. Single Number II","path":"136. Single Number II","contentType":"directory"},{"name":"137. Copy List with Random Pointer","path":"137. Copy List with Random Pointer","contentType":"directory"},{"name":"138. Word Break","path":"138. Word Break","contentType":"directory"},{"name":"141. Linked List Cycle II","path":"141. Linked List Cycle II","contentType":"directory"},{"name":"143. Binary Tree Preorder Traversal","path":"143. Binary Tree Preorder Traversal","contentType":"directory"},{"name":"144. Binary Tree Postorder Traversal","path":"144. Binary Tree Postorder Traversal","contentType":"directory"},{"name":"152. Find Minimum in Rotated Sorted Array","path":"152. Find Minimum in Rotated Sorted Array","contentType":"directory"},{"name":"435. Find All Duplicates in an Array","path":"435. Find All Duplicates in an Array","contentType":"directory"},{"name":"619. Maximum Average Subarray I","path":"619. Maximum Average Subarray I","contentType":"directory"},{"name":"630. Maximum Binary Tree","path":"630. Maximum Binary Tree","contentType":"directory"},{"name":"Catch","path":"Catch","contentType":"submodule","submoduleUrl":"/catchorg/Catch2/tree/d4e5f184369ce34592bb6f89e793bdb22d1d011a","submoduleDisplayName":"Catch @ d4e5f18"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".gitmodules","path":".gitmodules","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"}],"totalCount":137}},"fileTreeProcessingTime":5.0125150000000005,"foldersToFetch":[],"treeExpanded":true,"symbolsExpanded":false,"csrf_tokens":{"/algorithms-forks/LeetCode/branches":{"post":"FEOQf45kN4BAqdIEyARKzYwQIC3TeED-Qo5Kj34WRcFSuzAPdcW_QmESL9AkLa4LazcvVK4airW-bvkQzgcE0Q"},"/algorithms-forks/LeetCode/branches/fetch_and_merge/master":{"post":"FnTxLFOohRKZVNRxBt6inXBvKP6adKbaWv2LKWzEYmsZGLg0fCKgzh_oeMm7s8gwJNCRRdjImYp3C823x0sPpw"},"/algorithms-forks/LeetCode/branches/fetch_and_merge/master?discard_changes=true":{"post":"FnpPNs71sqihlptGOy1MwjY-YmorRXTSgqv6Ld-DdcEZFgYu4X-XdCcqN_6GQCZvYoHb0Wn5S4KvXbyzdAwYDQ"}}},"title":"LeetCode/086. Scramble String at master · algorithms-forks/LeetCode","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-263cab1760dd.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-1b17b3e7786a.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"react_blob_overlay":false,"accessible_code_button":true}}}
0