Java在Web开发中应用广泛吗?

2026-05-25 22:222阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计618个文字,预计阅读时间需要3分钟。

Java在Web开发中应用广泛吗?

目录+主题要求+思路:模拟+Java+C+++Rust+主题要求+思路:模拟+Java+class+Solution+{+public+boolean+areAlmostEqual(String+s1,+String+s2)+{+if+(s1.length()!=s2.length())+return+false;+int+a+=-1,+b+=-1;+for+(int+i+=0;+i

目录
  • 题目要求
  • 思路:模拟
  • Java
  • C++
  • Rust

题目要求

思路:模拟

Java

class Solution { public boolean areAlmostEqual(String s1, String s2) { if (s1.length() != s2.length()) return false; int a = -1, b = -1; for (int i = 0; i < s1.length(); i++) { if (s1.charAt(i) == s2.charAt(i)) continue; if (a == -1) a = i; // 第一个不同 else if (b == -1) b = i; // 第二个不同 else return false; // 两个以上不相同 } if (a == -1) // 全相同 return true; if (a != -1 && b == -1) // 一个不同 return false; return s1.charAt(a) == s2.charAt(b) && s1.charAt(b) == s2.charAt(a); // 不同位置字符相同 } }

  • 时间复杂度:O(n)
  • 空间复杂度:O(1)

C++

class Solution { public: bool areAlmostEqual(string s1, string s2) { if (s1.size() != s2.size()) return false; int a = -1, b = -1; for (int i = 0; i < s1.size(); i++) { if (s1[i] == s2[i]) continue; if (a == -1) a = i; // 第一个不同 else if (b == -1) b = i; // 第二个不同 else return false; // 两个以上不相同 } if (a == -1) // 全相同 return true; if (a != -1 && b == -1) // 一个不同 return false; return s1[a] == s2[b] && s1[b] == s2[a]; // 不同位置字符相同 } };

  • 时间复杂度:O(n)
  • 空间复杂度:O(1)

Rust

  • 记得要把字符串改成可操作的……

impl Solution { pub fn are_almost_equal(s1: String, s2: String) -> bool { if (s1.len() != s2.len()) { return false; } let n = s1.len(); let (mut a, mut b) = (n, n); let (s1, s2) = (s1.as_bytes(), s2.as_bytes()); for i in 0..n { if s1[i] == s2[i] { continue; } if a == n { a = i; // 第一个不同 } else if b == n { b = i; // 第二个不同 } else { return false; // 两个以上不相同 } } if a == n { // 全相同 return true; } if a != n && b == n { // 一个不同 return false; } s1[a] == s2[b] && s1[b] == s2[a] // 不同位置字符相同 } }

  • 时间复杂度:O(n)
  • 空间复杂度:O(1)

以上就是Java C++ leetcode执行一次字符串交换能否使两个字符串相等的详细内容,更多关于Java C++ 字符串交换相等的资料请关注自由互联其它相关文章!

Java在Web开发中应用广泛吗?

本文共计618个文字,预计阅读时间需要3分钟。

Java在Web开发中应用广泛吗?

目录+主题要求+思路:模拟+Java+C+++Rust+主题要求+思路:模拟+Java+class+Solution+{+public+boolean+areAlmostEqual(String+s1,+String+s2)+{+if+(s1.length()!=s2.length())+return+false;+int+a+=-1,+b+=-1;+for+(int+i+=0;+i

目录
  • 题目要求
  • 思路:模拟
  • Java
  • C++
  • Rust

题目要求

思路:模拟

Java

class Solution { public boolean areAlmostEqual(String s1, String s2) { if (s1.length() != s2.length()) return false; int a = -1, b = -1; for (int i = 0; i < s1.length(); i++) { if (s1.charAt(i) == s2.charAt(i)) continue; if (a == -1) a = i; // 第一个不同 else if (b == -1) b = i; // 第二个不同 else return false; // 两个以上不相同 } if (a == -1) // 全相同 return true; if (a != -1 && b == -1) // 一个不同 return false; return s1.charAt(a) == s2.charAt(b) && s1.charAt(b) == s2.charAt(a); // 不同位置字符相同 } }

  • 时间复杂度:O(n)
  • 空间复杂度:O(1)

C++

class Solution { public: bool areAlmostEqual(string s1, string s2) { if (s1.size() != s2.size()) return false; int a = -1, b = -1; for (int i = 0; i < s1.size(); i++) { if (s1[i] == s2[i]) continue; if (a == -1) a = i; // 第一个不同 else if (b == -1) b = i; // 第二个不同 else return false; // 两个以上不相同 } if (a == -1) // 全相同 return true; if (a != -1 && b == -1) // 一个不同 return false; return s1[a] == s2[b] && s1[b] == s2[a]; // 不同位置字符相同 } };

  • 时间复杂度:O(n)
  • 空间复杂度:O(1)

Rust

  • 记得要把字符串改成可操作的……

impl Solution { pub fn are_almost_equal(s1: String, s2: String) -> bool { if (s1.len() != s2.len()) { return false; } let n = s1.len(); let (mut a, mut b) = (n, n); let (s1, s2) = (s1.as_bytes(), s2.as_bytes()); for i in 0..n { if s1[i] == s2[i] { continue; } if a == n { a = i; // 第一个不同 } else if b == n { b = i; // 第二个不同 } else { return false; // 两个以上不相同 } } if a == n { // 全相同 return true; } if a != n && b == n { // 一个不同 return false; } s1[a] == s2[b] && s1[b] == s2[a] // 不同位置字符相同 } }

  • 时间复杂度:O(n)
  • 空间复杂度:O(1)

以上就是Java C++ leetcode执行一次字符串交换能否使两个字符串相等的详细内容,更多关于Java C++ 字符串交换相等的资料请关注自由互联其它相关文章!

Java在Web开发中应用广泛吗?