mirror of
				https://gitee.com/coder-xiaomo/leetcode-problemset
				synced 2025-11-04 03:33:12 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			72 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<p>An original string, consisting of lowercase English letters, can be encoded by the following steps:</p>
 | 
						|
 | 
						|
<ul>
 | 
						|
	<li>Arbitrarily <strong>split</strong> it into a <strong>sequence</strong> of some number of <strong>non-empty</strong> substrings.</li>
 | 
						|
	<li>Arbitrarily choose some elements (possibly none) of the sequence, and <strong>replace</strong> each with <strong>its length</strong> (as a numeric string).</li>
 | 
						|
	<li><strong>Concatenate</strong> the sequence as the encoded string.</li>
 | 
						|
</ul>
 | 
						|
 | 
						|
<p>For example, <strong>one way</strong> to encode an original string <code>"abcdefghijklmnop"</code> might be:</p>
 | 
						|
 | 
						|
<ul>
 | 
						|
	<li>Split it as a sequence: <code>["ab", "cdefghijklmn", "o", "p"]</code>.</li>
 | 
						|
	<li>Choose the second and third elements to be replaced by their lengths, respectively. The sequence becomes <code>["ab", "12", "1", "p"]</code>.</li>
 | 
						|
	<li>Concatenate the elements of the sequence to get the encoded string: <code>"ab121p"</code>.</li>
 | 
						|
</ul>
 | 
						|
 | 
						|
<p>Given two encoded strings <code>s1</code> and <code>s2</code>, consisting of lowercase English letters and digits <code>1-9</code> (inclusive), return <code>true</code><em> if there exists an original string that could be encoded as <strong>both</strong> </em><code>s1</code><em> and </em><code>s2</code><em>. Otherwise, return </em><code>false</code>.</p>
 | 
						|
 | 
						|
<p><strong>Note</strong>: The test cases are generated such that the number of consecutive digits in <code>s1</code> and <code>s2</code> does not exceed <code>3</code>.</p>
 | 
						|
 | 
						|
<p> </p>
 | 
						|
<p><strong class="example">Example 1:</strong></p>
 | 
						|
 | 
						|
<pre>
 | 
						|
<strong>Input:</strong> s1 = "internationalization", s2 = "i18n"
 | 
						|
<strong>Output:</strong> true
 | 
						|
<strong>Explanation:</strong> It is possible that "internationalization" was the original string.
 | 
						|
- "internationalization" 
 | 
						|
  -> Split:       ["internationalization"]
 | 
						|
  -> Do not replace any element
 | 
						|
  -> Concatenate:  "internationalization", which is s1.
 | 
						|
- "internationalization"
 | 
						|
  -> Split:       ["i", "nternationalizatio", "n"]
 | 
						|
  -> Replace:     ["i", "18",                 "n"]
 | 
						|
  -> Concatenate:  "i18n", which is s2
 | 
						|
</pre>
 | 
						|
 | 
						|
<p><strong class="example">Example 2:</strong></p>
 | 
						|
 | 
						|
<pre>
 | 
						|
<strong>Input:</strong> s1 = "l123e", s2 = "44"
 | 
						|
<strong>Output:</strong> true
 | 
						|
<strong>Explanation:</strong> It is possible that "leetcode" was the original string.
 | 
						|
- "leetcode" 
 | 
						|
  -> Split:      ["l", "e", "et", "cod", "e"]
 | 
						|
  -> Replace:    ["l", "1", "2",  "3",   "e"]
 | 
						|
  -> Concatenate: "l123e", which is s1.
 | 
						|
- "leetcode" 
 | 
						|
  -> Split:      ["leet", "code"]
 | 
						|
  -> Replace:    ["4",    "4"]
 | 
						|
  -> Concatenate: "44", which is s2.
 | 
						|
</pre>
 | 
						|
 | 
						|
<p><strong class="example">Example 3:</strong></p>
 | 
						|
 | 
						|
<pre>
 | 
						|
<strong>Input:</strong> s1 = "a5b", s2 = "c5b"
 | 
						|
<strong>Output:</strong> false
 | 
						|
<strong>Explanation:</strong> It is impossible.
 | 
						|
- The original string encoded as s1 must start with the letter 'a'.
 | 
						|
- The original string encoded as s2 must start with the letter 'c'.
 | 
						|
</pre>
 | 
						|
 | 
						|
<p> </p>
 | 
						|
<p><strong>Constraints:</strong></p>
 | 
						|
 | 
						|
<ul>
 | 
						|
	<li><code>1 <= s1.length, s2.length <= 40</code></li>
 | 
						|
	<li><code>s1</code> and <code>s2</code> consist of digits <code>1-9</code> (inclusive), and lowercase English letters only.</li>
 | 
						|
	<li>The number of consecutive digits in <code>s1</code> and <code>s2</code> does not exceed <code>3</code>.</li>
 | 
						|
</ul>
 |