input: Write a python function to create a decision tree classifier.
  assert decision_tree_classifier([]) == None
  assert isinstance(decision_tree_classifier([[1]]), TreeNode)
  assert decision_tree_classifier([[1, 0], [1, 1], [1, 1]]).value == 1
output: def decision_tree_classifier(data):
      class TreeNode:
          def __init__(self, value=None, left=None, right=None):
              self.value = value
              self.left = left
              self.right = right
  
      if not data:
          return None
      
      def build_tree(data):
          if all(row[-1] == data[0][-1] for row in data):
              return TreeNode(value=data[0][-1])
          
          counts = {}
          for row in data:
              label = row[-1]
              if label not in counts:
                  counts[label] = 0
              counts[label] += 1
          
          majority_label = max(counts, key=counts.get)
          return TreeNode(value=majority_label)
  
      return build_tree(data)