binary_trees 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/binary_trees.rb +13 -3
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: deb2f09d612a3ed0b194d61168c4eac9c7862079844f0115f8594fdb4d396ba5
4
- data.tar.gz: e0ad988c59677dc0a1b9105ebab038dda521dcf451337378b3033720da50e057
3
+ metadata.gz: c16b0e76e938ac4c254d878e295f0339e27fde37ed973ab7022e16edd9baadb7
4
+ data.tar.gz: 343202d92502b14bb1165c7211290ac39efd7672f7b6ecad6eed678aa1bca3dc
5
5
  SHA512:
6
- metadata.gz: bf057e2c63df3891ea91e32da2c0e4a3544563e200f25405ee767735da277f85a4ba277836a4b5108bbf8b57d2a80b23c59935b05767d1926f1d40ba6721814e
7
- data.tar.gz: 8a4eae170d17f7d7b71e00a27c8cf6297da7744b6247f98c0c7281a0c34daccb98da4e942ca200398478ae05a83c7995ee48cc17c2db8d3b2e45aa8af73edc37
6
+ metadata.gz: ca401a77cebd4b280ce457338441365dc3df2d5dd28a62c84b1133c9213cf03cb32bdd6551f6fe996d745c4ac62b8e381490b337b5bcc1063b5a0c68e666f34e
7
+ data.tar.gz: e723c1cc89c851f9bca0636d150bfa0390b13d4976176e7acf02656a0750e0e3eeb994fd1d14bea2fb798e024fd07e32cb6ff49ed134e4fd85c109814bdfc850
data/lib/binary_trees.rb CHANGED
@@ -1,10 +1,10 @@
1
1
  class Array
2
- def to_tree(i = 0)
2
+ def to_root(i = 0)
3
3
  root = nil
4
4
  if i < self.length
5
5
  root = TreeNode.new(self[i])
6
- root.left = to_tree(i * 2 + 1)
7
- root.right = to_tree(i * 2 + 2)
6
+ root.left = to_root(i * 2 + 1)
7
+ root.right = to_root(i * 2 + 2)
8
8
  end
9
9
  root
10
10
  end
@@ -21,6 +21,7 @@ class TreeNode
21
21
  end
22
22
 
23
23
  class Tree
24
+
24
25
  def initialize(root = nil)
25
26
  @root = root
26
27
  end
@@ -31,6 +32,15 @@ class Tree
31
32
  root.val + sum(root.left) + sum(root.right)
32
33
  end
33
34
 
35
+ def invert(root = @root)
36
+ return nil unless root
37
+
38
+ temp = root.left
39
+ root.left = invert(root.right)
40
+ root.right = invert(temp)
41
+ root
42
+ end
43
+
34
44
  def to_a(root = @root, arr = [], idx = 0)
35
45
  return [] if root.nil?
36
46
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: binary_trees
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Queenie Peng
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-31 00:00:00.000000000 Z
11
+ date: 2023-02-18 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: