Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 2c18219

Browse files
Update solutions
1 parent 66765d2 commit 2c18219

File tree

9 files changed

+124
-0
lines changed

9 files changed

+124
-0
lines changed

‎lib/array/single_number.dart‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
int singleNumber(List<int> nums) {
2+
var out = 0;
3+
for (var num in nums) {
4+
out ^= num;
5+
}
6+
7+
return out;
8+
}

‎lib/leetcode.dart‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ export 'array/longest_common_prefix.dart';
55
export 'array/max_profit.dart';
66
export 'array/permute.dart';
77
export 'array/remove_element.dart';
8+
export 'array/single_number.dart';
89
export 'graph/num_islands.dart';
910
export 'hash/lru_cache.dart';
1011
export 'list/add_two_numbers.dart';
@@ -16,14 +17,17 @@ export 'matrix/rotate.dart';
1617
export 'stack/is_valid.dart';
1718
export 'string/is_anagram.dart';
1819
export 'string/is_palindrome.dart';
20+
export 'string/is_subsequence.dart';
1921
export 'string/length_of_longest_substring.dart';
2022
export 'string/letter_combinations.dart';
23+
export 'string/reverse_string.dart';
2124
export 'tree/binary_paths.dart';
2225
export 'tree/invert_tree.dart';
2326
export 'tree/is_same_tree.dart';
2427
export 'tree/is_symmetric.dart';
2528
export 'tree/is_valid_bst.dart';
2629
export 'tree/level_order.dart';
2730
export 'tree/max_depth.dart';
31+
export 'tree/merge_trees.dart';
2832
export 'tree/tree_node.dart';
2933
export 'trie/trie.dart';

‎lib/string/is_subsequence.dart‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
bool isSubsequence(String s, String t) {
2+
var left = 0;
3+
var right = 0;
4+
5+
while (left < s.length && right < t.length) {
6+
if (s[left] == t[right]) {
7+
left += 1;
8+
}
9+
10+
right += 1;
11+
}
12+
13+
return left == s.length;
14+
}

‎lib/string/reverse_string.dart‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
void reverseString(List<String> s) {
2+
var left = 0;
3+
var right = s.length - 1;
4+
5+
while (left <= right) {
6+
var t = s[left];
7+
s[left] = s[right];
8+
s[right] = t;
9+
10+
left += 1;
11+
right -= 1;
12+
}
13+
}

‎lib/tree/merge_trees.dart‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import 'package:leetcode/tree/tree_node.dart';
2+
3+
TreeNode? mergeTrees(TreeNode? root1, TreeNode? root2) {
4+
if (root1 == null && root2 == null) {
5+
return null;
6+
}
7+
8+
if (root1 == null) {
9+
return root2;
10+
}
11+
12+
if (root2 == null) {
13+
return root1;
14+
}
15+
16+
var node = TreeNode(root1.val + root2.val);
17+
node.left = mergeTrees(root1.left, root2.left);
18+
node.right = mergeTrees(root1.right, root2.right);
19+
20+
return node;
21+
}

‎test/array/single_number_test.dart‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import 'package:leetcode/leetcode.dart';
2+
import 'package:test/test.dart';
3+
4+
void main() {
5+
test('example 1', () {
6+
var expected = 1;
7+
expect(singleNumber([2, 2, 1]), equals(expected));
8+
});
9+
10+
test('example 2', () {
11+
var expected = 4;
12+
expect(singleNumber([4, 1, 2, 1, 2]), equals(expected));
13+
});
14+
15+
test('example 3', () {
16+
var expected = 1;
17+
expect(singleNumber([1]), equals(expected));
18+
});
19+
}

‎test/string/is_subsequence_test.dart‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import 'package:leetcode/leetcode.dart';
2+
import 'package:test/test.dart';
3+
4+
void main() {
5+
test('example 1', () {
6+
var expected = true;
7+
expect(isSubsequence('abc', 'ahbgdc'), equals(expected));
8+
});
9+
10+
test('example 2', () {
11+
var expected = false;
12+
expect(isSubsequence('axc', 'ahbgdc'), equals(expected));
13+
});
14+
}

‎test/string/reverse_string_test.dart‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import 'package:leetcode/leetcode.dart';
2+
import 'package:leetcode/string/reverse_string.dart';
3+
import 'package:test/test.dart';
4+
5+
void main() {
6+
test('example 1', () {
7+
var expected = ['o', 'l', 'l', 'e', 'h'];
8+
var input = ['h', 'e', 'l', 'l', 'o'];
9+
reverseString(input);
10+
expect(input, equals(expected));
11+
});
12+
13+
test('example 2', () {
14+
var expected = ['H', 'a', 'n', 'n', 'a', 'h'];
15+
var input = ['h', 'a', 'n', 'n', 'a', 'H'];
16+
reverseString(input);
17+
expect(input, equals(expected));
18+
});
19+
}

‎test/tree/merge_trees_test.dart‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import 'package:leetcode/leetcode.dart';
2+
import 'package:test/test.dart';
3+
4+
void main() {
5+
test('example 1', () {
6+
var root1 = TreeNode.fromList([1, 3, 2, 5]);
7+
var root2 = TreeNode.fromList([2, 1, 3, null, 4, null, 7]);
8+
var expected = TreeNode.fromList([3, 4, 5, 5, 4, null, 7]);
9+
10+
expect(mergeTrees(root1, root2), equals(expected));
11+
});
12+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /