Skip to content

Commit 02fb015

Browse files
authored
Merge pull request neetcode-gh#71 from jenishk20/main
C++ Solution to Problem 226,70,746 [ Invert Binary Tree ] , [ Climbing Stairs ] , [ Min-Cost-Climbing-Stairs ]
2 parents 3d8228e + 481dbb4 commit 02fb015

File tree

3 files changed

+64
-0
lines changed

3 files changed

+64
-0
lines changed

cpp/226_Invert_Binary_Tree.cpp

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* struct TreeNode {
4+
* int val;
5+
* TreeNode *left;
6+
* TreeNode *right;
7+
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
8+
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
9+
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
10+
* };
11+
*/
12+
class Solution {
13+
public:
14+
void invert(TreeNode *curr)
15+
{
16+
if(!curr)
17+
return;
18+
19+
invert(curr->left);
20+
invert(curr->right);
21+
22+
swap(curr->left,curr->right);
23+
}
24+
TreeNode* invertTree(TreeNode* root) {
25+
26+
invert(root);
27+
return root;
28+
29+
}
30+
};

cpp/70. Climbing_Stairs.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
class Solution {
2+
public:
3+
int dp[50];
4+
int recur(int n)
5+
{
6+
if(n<=3)
7+
return n ;
8+
if(dp[n]!=-1)
9+
return dp[n];
10+
int op1=recur(n-1);
11+
int op2=recur(n-2);
12+
return dp[n]=op1+op2;
13+
}
14+
int climbStairs(int n) {
15+
memset(dp,-1,sizeof dp);
16+
return recur(n);
17+
}
18+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
class Solution {
2+
public:
3+
int minCostClimbingStairs(vector<int>& cost) {
4+
int n=cost.size();
5+
int i;
6+
int dp[n+1];
7+
dp[0]=cost[0];
8+
dp[1]=cost[1];
9+
for(i=2;i<=n;i++)
10+
{
11+
dp[i]=min(dp[i-1],dp[i-2])+(i==n?0:cost[i]);
12+
}
13+
14+
return dp[n];
15+
}
16+
};

0 commit comments

Comments
 (0)