From 3f521a9849997608712e92ad8e90e83ff1cefdc0 Mon Sep 17 00:00:00 2001 From: Jack Sangdahl Date: Mon, 25 Aug 2025 13:06:21 -0600 Subject: chore: Tidy util files and add listnode_build Removes unnecessary C++ specific header file code Adds C and Python helper functions to build a full ListNode based on an integer array as input --- leetcode.h | 40 ++-------------------------------------- 1 file changed, 2 insertions(+), 38 deletions(-) (limited to 'leetcode.h') diff --git a/leetcode.h b/leetcode.h index 0f0ca7c..cc17fc2 100644 --- a/leetcode.h +++ b/leetcode.h @@ -1,4 +1,5 @@ #pragma once + #include "lib/uthash/src/uthash.h" #include #include @@ -11,43 +12,6 @@ #include #include -#ifdef __cplusplus -#include -using namespace std; - -typedef vector> vvd; - -struct ListNode { - int val; - ListNode *next; - ListNode() : val(0), next(nullptr) {} - ListNode(int x) : val(x), next(nullptr) {} - ListNode(int x, ListNode *next) : val(x), next(next) {} -}; - -struct TreeNode { - int val; - TreeNode *left; - TreeNode *right; - TreeNode() : val(0), left(nullptr), right(nullptr) {} - TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} - TreeNode(int x, TreeNode *left, TreeNode *right) - : val(x), left(left), right(right) {} -}; - -class Node { -public: - int val; - vector children; - Node() {} - Node(int _val) { val = _val; } - Node(int _val, vector _children) { - val = _val; - children = _children; - } -}; -#else //__cplusplus - struct two_d_arr { int row_size; int *col_size; @@ -76,6 +40,7 @@ void two_d_arr_init(struct two_d_arr *obj, int row_size, int col_size, void two_d_arr_free(struct two_d_arr *obj); struct ListNode *listnode_create(int val); +struct ListNode *listnode_build(int *vals, int size); void listnode_print(struct ListNode *head); void listnode_free(struct ListNode *head); @@ -94,4 +59,3 @@ void node_free(struct Node *root); #define ARRAY_SIZE(array) \ (__builtin_choose_expr(IS_ARRAY((array)), \ sizeof((array)) / sizeof((array)[0]), (void)0)) -#endif -- cgit v1.2.3