1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-10 18:48:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/完全相等的 JSON 字符串 [json-deep-equal].html
2023-04-23 22:41:08 +08:00

51 lines
1.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>给定两个对象 <code>o1</code><code>o2</code> ,请你检查它们是否 <strong>完全相等</strong></p>
<p>对于两个 <strong>完全相等</strong> 的对象,它们必须包含相同的键,并且相关的值也必须 <strong>完全相等</strong> 。如果两个对象通过了 <code>===</code> 相等性检查,它们也被认为是 <strong>完全相等</strong> 的。</p>
<p>你可以假设这两个对象都是 <code>JSON.parse</code> 的输出。换句话说,它们是有效的 <code>JSON</code></p>
<p>请你在不使用 lodash 的 <code>_.isEqual()</code> 函数的前提下解决这个问题。</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre>
<b>输入:</b>o1 = {"x":1,"y":2}, o2 = {"x":1,"y":2}
<b>输出:</b>true
<b>输入:</b>键和值完全匹配。
</pre>
<p><strong>示例 2</strong></p>
<pre>
<b>输入:</b>o1 = {"y":2,"x":1}, o2 = {"x":1,"y":2}
<b>输出:</b>true
<b>解释:</b>尽管键的顺序不同,但它们仍然完全匹配。
</pre>
<p><strong>示例 3</strong></p>
<pre>
<b>输入:</b>o1 = {"x":null,"L":[1,2,3]}, o2 = {"x":null,"L":["1","2","3"]}
<b>输出:</b>false
<b>解释:</b>数字数组不同于字符串数组。
</pre>
<p><strong>示例 4</strong></p>
<pre>
<b>输入:</b>o1 = true, o2 = false
<b>输出:</b>false
<b>解释:</b>true !== false</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= JSON.stringify(o1).length &lt;= 10<sup>5</sup></code></li>
<li><code>1 &lt;= JSON.stringify(o2).length &lt;= 10<sup>5</sup></code></li>
<li><code>maxNestingDepth &lt;= 1000</code></li>
</ul>